Pensieve header: Roland’s Γ-calculus program - much simplified!

Γ/:Γ[ω1_,A1_]Γ[ω2_,A2_]:=Γ[ω1 ω2,A1+ A2]
ΓCollect[Γ[ω_,A_]]:=Γ[Simplify[ω]//Expand,Collect[A,(Subscript[r, _]),Collect[#,(Subscript[c, _]),Factor]&]]
(Subscript[X, a_,b_]):=Γ[1,(Subscript[r, a])(Subscript[c, a])+(1-t)(Subscript[r, a])(Subscript[c, b])+t (Subscript[r, b])(Subscript[c, b])]
(Subscript[(OverBar[X]), a_,b_]):=(Subscript[X, a,b])/.t->(t^(-1))
(Subscript[m, a_,b_->k_])[Γ[ω_,A_]]:=Γ[(μ=1-(∂_((Subscript[r, a]),(Subscript[c, b])))A)ω,A+((∂_(Subscript[c, b]))A)((∂_(Subscript[r, a]))A)/μ]/.{(Subscript[c, b])|(Subscript[r, a])->0,(Subscript[c, a])->(Subscript[c, k]),(Subscript[r, b])->(Subscript[r, k])}//ΓCollect

(*Check Reidemeister Moves*)
(Subscript[X, 1,2])(Subscript[(OverBar[X]), 3,4])//(Subscript[m, 1,3->1])//(Subscript[m, 2,4->2])
(Subscript[X, 4,1])(Subscript[(OverBar[X]), 2,3])//(Subscript[m, 1,3->1])//(Subscript[m, 2,4->2])
(Subscript[X, 1,2])(Subscript[X, 4,3])(Subscript[X, 5,6])//(Subscript[m, 1,4->1])//(Subscript[m, 2,5->2])//(Subscript[m, 3,6->3])
(Subscript[X, 1,6])(Subscript[X, 2,3])(Subscript[X, 4,5])//(Subscript[m, 1,4->1])//(Subscript[m, 2,5->2])//(Subscript[m, 3,6->3])
{(Subscript[X, 1,2])//(Subscript[m, 1,2->1]),(Subscript[X, 1,2])//(Subscript[m, 2,1->1]),(Subscript[(OverBar[X]), 1,2])//(Subscript[m, 1,2->1]),(Subscript[(OverBar[X]), 1,2])//(Subscript[m, 2,1->1])}

(Subscript[X, 1,4])(Subscript[X, 5,2])(Subscript[X, 3,6])//(Subscript[m, 1,2->1])//(Subscript[m, 1,3->1])//(Subscript[m, 1,4->1])//(Subscript[m, 1,5->1])//(Subscript[m, 1,6->1])//Expand

(Subscript[DU, l_,r_]):=(Subscript[(OverBar[X]), 8,1])(Subscript[(OverBar[X]), 3,6])(Subscript[(OverBar[X]), 4,5])(Subscript[(OverBar[X]), 7,2])//(Subscript[m, 1,3->1])//(Subscript[m, 1,5->1])//(Subscript[m, 1,7->r])//(Subscript[m, 2,4->2])//(Subscript[m, 2,6->2])//(Subscript[m, 2,8->l])
(Subscript[UD, l_,r_]):=(Subscript[(OverBar[X]), 1,8])(Subscript[(OverBar[X]), 6,3])(Subscript[(OverBar[X]), 5,4])(Subscript[(OverBar[X]), 2,7])//(Subscript[m, 1,3->1])//(Subscript[m, 1,5->1])//(Subscript[m, 1,7->r])//(Subscript[m, 2,4->2])//(Subscript[m, 2,6->2])//(Subscript[m, 2,8->l])
(Subscript[UU, l_,r_]):=(Subscript[X, 1,2])(Subscript[X, 4,3])(Subscript[X, 5,6])(Subscript[X, 8,7])//(Subscript[m, 1,3->1])//(Subscript[m, 1,5->1])//(Subscript[m, 1,7->l])//(Subscript[m, 2,4->2])//(Subscript[m, 2,6->2])//(Subscript[m, 2,8->r])
(Subscript[DD, l_,r_]):=(Subscript[X, 2,1])(Subscript[X, 3,4])(Subscript[X, 6,5])(Subscript[X, 7,8])//(Subscript[m, 1,3->1])//(Subscript[m, 1,5->1])//(Subscript[m, 1,7->l])//(Subscript[m, 2,4->2])//(Subscript[m, 2,6->2])//(Subscript[m, 2,8->r])
(Subscript[UB, l_,c_,r_]):=(Subscript[X, 1,6])(Subscript[(OverBar[X]), 3,2])(Subscript[X, 9,8])(Subscript[(OverBar[X]), 5,4])//(Subscript[m, 1,4->l])//(Subscript[m, 2,5->2])//(Subscript[m, 2,8->c])//(Subscript[m, 3,6->3])//(Subscript[m, 3,9->r])
(Subscript[DB, l_,c_,r_]):=(Subscript[X, 2,1])(Subscript[(OverBar[X]), 4,3])(Subscript[X, 6,5])(Subscript[(OverBar[X]), 8,7])//(Subscript[m, 1,4->1])//(Subscript[m, 1,7->l])//(Subscript[m, 2,5->2])//(Subscript[m, 2,8->c])//(Subscript[m, 3,6->r])

(Subscript[UB, 1,2,3])
(Subscript[DB, 1,2,3])

(Subscript[UB, 1,2,3])(Subscript[DU, 4,5])(Subscript[DB, 6,7,8])//(Subscript[m, 1,4->1])//(Subscript[m, 1,3->1])//(Subscript[m, 2,1->1])//(Subscript[m, 8,5->8])//(Subscript[m, 8,6->8])

(Subscript[UB, 1,2,3])//(Subscript[m, 2,1->2])//(Subscript[m, 2,3->2])
(Subscript[DB, 1,2,3])//(Subscript[m, 2,3->2])//(Subscript[m, 2,1->2])