What is the canonical (and therefore also safe) way to pull out a specific argument of a function contained in the nested output from ToInert? I ask because it seems that using something like op(n1...,op(nk,ToInert(expr))...), where n1...nk are positive integers, is a bad idea because the arguments can change locations depending on the exact expression being translated to inert form. For instance, inserting a specific shape in the Matrix constructor changes locations of all the other arguments of _Inert_MATRIX. Is it using iteratively something along the following lines?
inert := ToInert(Matrix(3,3,(i,j) -> i*j)):
op(1,select(has,inert,_Inert_SET));

Please Wait...