
{
	"cells" : 
	[
		
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "\\property{CommutingAsProduct}{Makes an object behave as a product when commuting.}\n\nThis makes an object behave, for purposes of commutation rules, as a\nproduct. That is, when trying to move another object through it, the\nsign that is picked up is determined by moving the other object\nthrough all the non-index children. "
				}
			],
			"hidden" : true,
			"source" : "\\property{CommutingAsProduct}{Makes an object behave as a product when commuting.}\n\nThis makes an object behave, for purposes of commutation rules, as a\nproduct. That is, when trying to move another object through it, the\nsign that is picked up is determined by moving the other object\nthrough all the non-index children. "
		},
		
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property CommutingAsProduct to~}A(\\#).\\end{dmath*}"
				},
				
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property AntiCommuting to~}(Q, X, Y, Z).\\end{dmath*}"
				},
				
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}A(Y Z Q) A(X)\\end{dmath*}"
				}
			],
			"source" : "A(#)::CommutingAsProduct;\n{Q,X,Y,Z}::AntiCommuting;\nex:= A(Y)(Z)(Q)*A(X);"
		},
		
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}-A(X) A(Y Z Q)\\end{dmath*}"
				}
			],
			"source" : "sort_product(_);"
		},
		
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "The minus sign arises because it would also have been present when\nsorting \\verb|(Y*Z*Q)*X|. "
				}
			],
			"hidden" : true,
			"source" : "The minus sign arises because it would also have been present when\nsorting \\verb|(Y*Z*Q)*X|. "
		},
		
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"source" : ""
		}
	],
	"description" : "Cadabra JSON notebook format",
	"version" : 1.0
}

