[?n2 not1]
]))))))
+;
+; gr1(will be before-pattern)
+; _ __
+; c |_|---------| \
+; | |----+
+; +----|__/ | __
+; _ | __ +----\ \ _
+; a |_|----+----| \ | |----|_| z
+; _ | |---------/__/
+; b |_|---------|__/
+;
+;
+; gr2(will be after-pattern)
+; _ __
+; c |_|----\ \
+; _ | |----+ __
+; b |_|----/__/ +----| \ _
+; _ | |----|_| z
+; a |_|------------------|__/
+;
+(deftest gr2-to-replace-ptn
+ (let [gr1 (struct gr/graph 14
+ '[[n-0 in a]
+ [n-1 in b]
+ [n-2 in c]
+ [n-5 and2]
+ [n-8 and2]
+ [n-11 or2]
+ [n-13 out z]
+ ]
+ '[[e-3 [n-0 0] [n-5 0]]
+ [e-4 [n-1 0] [n-5 1]]
+ [e-6 [n-0 0] [n-8 0]]
+ [e-7 [n-2 0] [n-8 1]]
+ [e-9 [n-5 0] [n-11 0]]
+ [e-10 [n-8 0] [n-11 1]]
+ [e-12 [n-11 0] [n-13 0]]
+ ])
+ bfr {:nodes '[[?bn0 ?*bn0-atr]
+ [?bn1 ?*bn1-atr]
+ [?bn2 ?*bn2-atr]
+ [?bn5 and2]
+ [?bn8 and2]
+ [?bn11 or2]
+ ]
+ :edges '[[?be3 [?bn0 ?bn0-0] [?bn5 0 ]]
+ [?be4 [?bn1 ?bn1-0] [?bn5 1 ]]
+ [?be6 [?bn0 ?bn0-0] [?bn8 0 ]]
+ [?be7 [?bn2 ?bn2-0] [?bn8 1 ]]
+ [?be9 [?bn5 0 ] [?bn11 0 ]]
+ [?be10 [?bn8 0 ] [?bn11 1 ]]
+ [?be12 [?bn11 0 ] [?bn13 ?bn13-0]]
+ ]}
+ gr2 (struct gr/graph 11
+ '[[n-0 in a]
+ [n-1 in b]
+ [n-2 in c]
+ [n-5 or2]
+ [n-8 and2]
+ [n-10 out z]
+ ]
+ '[[e-3 [n-1 0] [n-5 0]]
+ [e-4 [n-2 0] [n-5 1]]
+ [e-6 [n-0 0] [n-8 0]]
+ [e-7 [n-5 0] [n-8 1]]
+ [e-9 [n-8 0] [n-10 0]]
+ ])
+ aft {:nodes '[[?an5 or2]
+ [?an8 and2]
+ ]
+ :edges '[[?ae3 [?bn1 ?bn1-0] [?an5 0 ]]
+ [?ae4 [?bn2 ?bn2-0] [?an5 1 ]]
+ [?ae6 [?bn0 ?bn0-0] [?an8 0 ]]
+ [?ae7 [?an5 0 ] [?an8 1 ]]
+ [?ae9 [?an8 0 ] [?bn13 ?bn13-0]]
+ ]}]))
+
;(deftest test-sublis
; (is (= (gr/sublis '{a x, b y}
; '[[a b] [c b]])