Step-by-step derivation
S001 · implies
Before
M=[[2, 1, 0, -1, -2], [3, 2, 1, 0, -1], [4, 3, 2, 1, 0]];shape=[3, 5]
After
external indices start at1;transpose is not inverse
Conditions: none
First confirm a nonempty rectangular shape and complete integer entries.Transposition is defined for rectangular matrices without invertibility and is not matrix inversion.
Step identifiers and dependencies
Rule: rectangular_matrix_scope · Uses: G001
S002 · implies
Before
M transpose:source(1,1)=2
After
target(1,1)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S001
S003 · implies
Before
M transpose:source(1,2)=1
After
target(2,1)=1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S002
S004 · implies
Before
M transpose:source(1,3)=0
After
target(3,1)=0
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S003
S005 · implies
Before
M transpose:source(1,4)=-1
After
target(4,1)=-1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S004
S006 · implies
Before
M transpose:source(1,5)=-2
After
target(5,1)=-2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S005
S007 · implies
Before
M transpose:source(2,1)=3
After
target(1,2)=3
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S006
S008 · implies
Before
M transpose:source(2,2)=2
After
target(2,2)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S007
S009 · implies
Before
M transpose:source(2,3)=1
After
target(3,2)=1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S008
S010 · implies
Before
M transpose:source(2,4)=0
After
target(4,2)=0
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S009
S011 · implies
Before
M transpose:source(2,5)=-1
After
target(5,2)=-1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S010
S012 · implies
Before
M transpose:source(3,1)=4
After
target(1,3)=4
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S011
S013 · implies
Before
M transpose:source(3,2)=3
After
target(2,3)=3
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S012
S014 · implies
Before
M transpose:source(3,3)=2
After
target(3,3)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S013
S015 · implies
Before
M transpose:source(3,4)=1
After
target(4,3)=1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S014
S016 · implies
Before
M transpose:source(3,5)=0
After
target(5,3)=0
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S015
S017 · implies
Before
M shape=[3, 5];N shape=[3, 5]
After
same shape;entrywise sum permitted
Conditions: none
Matrix addition requires equal shapes first.Do not truncate,pad with zeros or broadcast to alter the original problem.
Step identifiers and dependencies
Rule: matrix_sum_shape_guard · Uses: G001, S016
S018 · calculation
Before
M+N(1,1) := sum(2, 0)
After
M+N(1,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
M+N(1,2) := sum(1, 1)
After
M+N(1,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
M+N(1,3) := sum(0, 2)
After
M+N(1,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
M+N(1,4) := sum(-1, 3)
After
M+N(1,4) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
M+N(1,5) := sum(-2, 4)
After
M+N(1,5) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · calculation
Before
M+N(2,1) := sum(3, -1)
After
M+N(2,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
M+N(2,2) := sum(2, 0)
After
M+N(2,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
M+N(2,3) := sum(1, 1)
After
M+N(2,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · calculation
Before
M+N(2,4) := sum(0, 2)
After
M+N(2,4) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
M+N(2,5) := sum(-1, 3)
After
M+N(2,5) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
M+N(3,1) := sum(4, -2)
After
M+N(3,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · calculation
Before
M+N(3,2) := sum(3, -1)
After
M+N(3,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · calculation
Before
M+N(3,3) := sum(2, 0)
After
M+N(3,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · calculation
Before
M+N(3,4) := sum(1, 1)
After
M+N(3,4) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · calculation
Before
M+N(3,5) := sum(0, 2)
After
M+N(3,5) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S031
S033 · implies
Before
sum transpose:source(1,1)=2
After
target(1,1)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S032
S034 · implies
Before
sum transpose:source(1,2)=2
After
target(2,1)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S033
S035 · implies
Before
sum transpose:source(1,3)=2
After
target(3,1)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S034
S036 · implies
Before
sum transpose:source(1,4)=2
After
target(4,1)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S035
S037 · implies
Before
sum transpose:source(1,5)=2
After
target(5,1)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S036
S038 · implies
Before
sum transpose:source(2,1)=2
After
target(1,2)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S037
S039 · implies
Before
sum transpose:source(2,2)=2
After
target(2,2)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S038
S040 · implies
Before
sum transpose:source(2,3)=2
After
target(3,2)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S039
S041 · implies
Before
sum transpose:source(2,4)=2
After
target(4,2)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S040
S042 · implies
Before
sum transpose:source(2,5)=2
After
target(5,2)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S041
S043 · implies
Before
sum transpose:source(3,1)=2
After
target(1,3)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S042
S044 · implies
Before
sum transpose:source(3,2)=2
After
target(2,3)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S043
S045 · implies
Before
sum transpose:source(3,3)=2
After
target(3,3)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S044
S046 · implies
Before
sum transpose:source(3,4)=2
After
target(4,3)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S045
S047 · implies
Before
sum transpose:source(3,5)=2
After
target(5,3)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S046
S048 · implies
Before
N transpose:source(1,1)=0
After
target(1,1)=0
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S047
S049 · implies
Before
N transpose:source(1,2)=1
After
target(2,1)=1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S048
S050 · implies
Before
N transpose:source(1,3)=2
After
target(3,1)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S049
S051 · implies
Before
N transpose:source(1,4)=3
After
target(4,1)=3
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S050
S052 · implies
Before
N transpose:source(1,5)=4
After
target(5,1)=4
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S051
S053 · implies
Before
N transpose:source(2,1)=-1
After
target(1,2)=-1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S052
S054 · implies
Before
N transpose:source(2,2)=0
After
target(2,2)=0
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S053
S055 · implies
Before
N transpose:source(2,3)=1
After
target(3,2)=1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S054
S056 · implies
Before
N transpose:source(2,4)=2
After
target(4,2)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S055
S057 · implies
Before
N transpose:source(2,5)=3
After
target(5,2)=3
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S056
S058 · implies
Before
N transpose:source(3,1)=-2
After
target(1,3)=-2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S057
S059 · implies
Before
N transpose:source(3,2)=-1
After
target(2,3)=-1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S058
S060 · implies
Before
N transpose:source(3,3)=0
After
target(3,3)=0
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S059
S061 · implies
Before
N transpose:source(3,4)=1
After
target(4,3)=1
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S060
S062 · implies
Before
N transpose:source(3,5)=2
After
target(5,3)=2
Conditions: none
Transposition swaps row and column positions without changing the value.All displayed positions here are 1-based.
Step identifiers and dependencies
Rule: transpose_coordinate_swap · Uses: G001, S061
S063 · calculation
Before
MT+NT(1,1) := sum(2, 0)
After
MT+NT(1,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S062
S064 · calculation
Before
MT+NT(1,2) := sum(3, -1)
After
MT+NT(1,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S063
S065 · calculation
Before
MT+NT(1,3) := sum(4, -2)
After
MT+NT(1,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S064
S066 · calculation
Before
MT+NT(2,1) := sum(1, 1)
After
MT+NT(2,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S065
S067 · calculation
Before
MT+NT(2,2) := sum(2, 0)
After
MT+NT(2,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S066
S068 · calculation
Before
MT+NT(2,3) := sum(3, -1)
After
MT+NT(2,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S067
S069 · calculation
Before
MT+NT(3,1) := sum(0, 2)
After
MT+NT(3,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S068
S070 · calculation
Before
MT+NT(3,2) := sum(1, 1)
After
MT+NT(3,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S069
S071 · calculation
Before
MT+NT(3,3) := sum(2, 0)
After
MT+NT(3,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S070
S072 · calculation
Before
MT+NT(4,1) := sum(-1, 3)
After
MT+NT(4,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S071
S073 · calculation
Before
MT+NT(4,2) := sum(0, 2)
After
MT+NT(4,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S072
S074 · calculation
Before
MT+NT(4,3) := sum(1, 1)
After
MT+NT(4,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S073
S075 · calculation
Before
MT+NT(5,1) := sum(-2, 4)
After
MT+NT(5,1) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S074
S076 · calculation
Before
MT+NT(5,2) := sum(-1, 3)
After
MT+NT(5,2) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S075
S077 · calculation
Before
MT+NT(5,3) := sum(0, 2)
After
MT+NT(5,3) = 2
Conditions: none
Add the already aligned component or position,without mixing coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S076
S078 · implies
Before
left=[[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2]];right=[[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2]]
After
same value at every transposed coordinate
Conditions: none
One route adds before swapping positions;the other swaps each matrix first and then adds.Both use the same original entry pair.
Step identifiers and dependencies
Rule: transpose_sum_two_routes · Uses: G001, S077
Result
([3, 5], [[2, 2, 2, 2, 2], [2, 2, 2, 2, 2], [2, 2, 2, 2, 2]], [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2]])
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.