diff --git a/CHANGES.md b/CHANGES.md index 7c91b4b7..0c830101 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,5 @@ ## Catt +- Computation of Eckmann-Hilton cells as a builtin - Improve efficiency by storing partially checked terms - Computation of cylinder compositions as a builtin - Computation of cone compositions as a builtin diff --git a/coq_plugin/src/export.ml b/coq_plugin/src/export.ml index d1ed6efc..7a849a4a 100644 --- a/coq_plugin/src/export.ml +++ b/coq_plugin/src/export.ml @@ -232,7 +232,7 @@ end = struct | Some res -> res | None -> let ps, ty, name = Coh.forget coh in - let name = clean_name (Unchecked.full_name name) in + let name = clean_name (Printing.full_name name) in let ctx = Unchecked.ps_to_ctx ps in let l_ind = induction_vars ps in let l_ind = induction_data l_ind ctx in diff --git a/examples/eckmann-hilton-versions/higher-eh/eh-3-0.catt b/examples/eckmann-hilton-versions/higher-eh/eh-3-0.catt new file mode 100644 index 00000000..34490878 --- /dev/null +++ b/examples/eckmann-hilton-versions/higher-eh/eh-3-0.catt @@ -0,0 +1,245 @@ +let 1paddedL (x : *) (y : *) + (f : x -> x) (g : x -> y) + = comp f g + +coh 2padL (x(f)y) : f -> 1paddedL (id x) f + +let 1paddedU (x : *) + (f : x -> x) (g : x -> x) + = comp f g + +coh 2padU (x) : id x -> 1paddedU (id x) (id x) + +coh bias (x) : 2padU x -> 2padL (id x) + +coh Ibias (x) : I (2padU x) -> I (2padL (id x)) + +let 2paddedL (x : *) (y : *) + (f : x -> y) (g : x -> y) + (a : id x -> id x) (b : f -> g) + = comp (2padL f) (1paddedL [a] [b]) (I (2padL g)) + +coh 3padL (x(f(a)g)y) : a -> 2paddedL (id (id x)) a + +let 2paddedU (x : *) + (a : id x -> id x) (b : id x -> id x) + = comp (2padU x) (1paddedU [a] [b]) (I (2padU x)) + +coh 3padU (x) : id (id x) -> 2paddedU (id (id x)) (id (id x)) + +let 3paddedL (x : *) (y : *) + (f : x -> y) (g : x -> y) + (a : f -> g) (b : f -> g) + (p : id (id x) -> id (id x)) (q : a -> b) + = comp (3padL a) (2paddedL [p] [q]) (I (3padL b)) + +coh 4padL (x(f(a(p)b)g)y) : p -> 3paddedL (id (id (id x))) p + + +let 3paddedU (x : *) + (p : id (id x) -> id (id x)) (q : (id (id x)) -> (id (id x))) + = comp (3padU x) (2paddedU [p] [q]) (I (3padU x)) + +coh 4padU (x) : id (id (id x)) -> 3paddedU (id (id (id x))) (id (id (id x))) + +let 4paddedL (x : *) (y : *) + (f : x -> y) (g : x -> y) + (a : f -> g) (b : f -> g) + (p : a -> b) (q : a -> b) + (m : id (id (id x)) -> id (id (id x))) (n : p -> q) + = comp (4padL p) (3paddedL [m] [n]) (I (4padL q)) + +coh 5padL (x(f(a(p(m)q)b)g)y) : m -> 4paddedL (id (id (id (id x)))) m + +let 4paddedU (x : *) + (m : id (id (id x)) -> id (id (id x))) (n : id (id (id x)) -> id (id (id x))) + = comp (4padU x) (3paddedU [m] [n]) (I (4padU x)) + +coh 5padU (x) : id (id (id (id x))) -> 4paddedU (id (id (id (id x)))) (id (id (id (id x)))) + + +coh focus-33-to-middle2 (x0(f1)x1(f2)x2(f3)x3(f4)x4(f5)x5(f6)x6) : + comp (comp f1 f2 f3) (comp f4 f5 f6) -> comp f1 f2 (comp f3 f4) f5 f6 + +coh factor3padL (x) : 3padL (id (id x)) -> comp (3padU x) (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x]) + +coh unfactor3padU (x) : comp (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x]) + (I (3padL (id (id x)))) + -> I (3padU x) + +coh burger (x(f(a)g)y(h)z(j(b)k)w) : comp f h j -> comp g h k + +let nat-of-id-WRT-bias (x : *) (y : *) (z : *) (w : *) + (f1 : x -> y) (f2 : x -> y) (g1 : y -> z) (g2 : y -> z) (h1 : z -> w) (h2 : z -> w) + (a : f1 -> f2) (b : g1 -> g2) (c : h1 -> h2) + = burger a [b] c + +let middlestep1 (x : *) = comp [factor3padL x] (2paddedL [id (id (id x))] [id (id (id x))]) (I (3padL (id (id x)))) + +coh focus-first2-to-middle2 (x0(f1)x1(f2)x2(f3)x3(f4)x4) : comp (comp f1 f2) f3 f4 -> comp f1 (comp f2 f3) f4 + +let middlestep2 (x : *) + = focus-first2-to-middle2 (3padU x) + (burger (bias x) (comp [id (id x)] [id (id x)]) (Ibias x)) + (2paddedL [id (id (id x))] [id (id (id x))]) + (I (3padL (id (id x)))) + +let middlestep3 (x : *) + = comp (3padU x) [nat-of-id-WRT-bias (bias x) (comp [[id (id (id x))]] [[id (id (id x))]]) (Ibias x)] (I (3padL (id (id x)))) + +coh focus-middle2-to-last2 (x0(f1)x1(f2)x2(f3)x3(f4)x4) : comp f1 (comp f2 f3) f4 -> comp f1 f2 (comp f3 f4) + +let middlestep4 (x : *) + = focus-middle2-to-last2 (3padU x) + (2paddedU [id (id (id x))] [id (id (id x))]) + (burger (bias x) (comp [id (id x)] [id (id x)]) (Ibias x)) + (I (3padL (id (id x)))) + +let middlestep5 (x : *) + = comp (3padU x) (2paddedU [id (id (id x))] [id (id (id x))]) [unfactor3padU x] + +let middle (x : *) + = comp (middlestep1 x) + (middlestep2 x) + (middlestep3 x) + (middlestep4 x) + (middlestep5 x) + (I (op { 1 } (middlestep5 x))) + (I (op { 1 } (middlestep4 x))) + (I (op { 1 } (middlestep3 x))) + (I (op { 1 } (middlestep2 x))) + (I (op { 1 } (middlestep1 x))) + +coh middlereplace (x) : comp (I (4padL (id (id (id x))))) (op { 1 } (4padL (id (id (id x))))) -> middle x + +let step1 (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = comp [5padL m] [op { 1 } (5padL n)] + +let step2 (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = focus-33-to-middle2 (4padL (id (id (id x)))) + (3paddedL [id (id (id (id x)))] [m]) + (I (4padL (id (id (id x))))) + (op { 1 } (4padL (id (id (id x))))) + (op { 1 } (3paddedL [id (id (id (id x)))] [n])) + (op { 1 } (I (4padL (id (id (id x)))))) +let step3 (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = comp (4padL (id (id (id x)))) + (3paddedL [id (id (id (id x)))] [m]) + [middlereplace x] + (op { 1 } (3paddedL [id (id (id (id x)))] [n])) + (op { 1 } (I (4padL (id (id (id x)))))) + +coh focus-2-3-and-12-13 (x0(f1)x1(f2)x2(f3)x3(f4)x4(f5)x5(f6)x6(f7)x7(f8)x8(f9)x9(f10)x10(f11)x11(f12)x12(f13)x13(f14)x14) + : comp f1 f2 (comp f3 f4 f5 f6 f7 f8 f9 f10 f11 f12) f13 f14 -> comp f1 (comp f2 f3) f4 f5 f6 f7 f8 f9 f10 f11 (comp f12 f13) f14 + +let step4 (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = focus-2-3-and-12-13 + (4padL (id (id (id x)))) + (3paddedL [id (id (id (id x)))] [m]) + (middlestep1 x) + (middlestep2 x) + (middlestep3 x) + (middlestep4 x) + (middlestep5 x) + (I (op { 1 } (middlestep5 x))) + (I (op { 1 } (middlestep4 x))) + (I (op { 1 } (middlestep3 x))) + (I (op { 1 } (middlestep2 x))) + (I (op { 1 } (middlestep1 x))) + (op { 1 } (3paddedL [id (id (id (id x)))] [n])) + (op { 1 } (I (4padL (id (id (id x)))))) + +coh sandwisk (x(f)y(g(a)h)z(k)w) : comp f g k -> comp f h k + +let nat-middletoleft (x : *) (y : *) (z : *) (w : *) + (f1 : x -> y) (f2 : x -> y) (g1 : y -> z) (g2 : y -> z) + (a : f1 -> f2) (b : g1 -> g2) (h : z -> w) + = sandwisk [a] b h + +let nat-factoring-WRT-m (x : *) + (m : id (id (id x)) -> id (id (id x))) + = nat-middletoleft (factor3padL x) (2paddedL [[id (id (id (id x)))]] [[m]] ) (I (3padL (id (id x)))) + +let nat-factoring-WRT-n (x : *) + (n : id (id (id x)) -> id (id (id x))) + = I (nat-middletoleft (I (op { 1 } (factor3padL x))) (op { 1 } (2paddedL [[id (id (id (id x)))]] [[n]])) (I (op { 1 } (3padL (id (id x)))))) + +let step5 (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = comp + (4padL (id (id (id x)))) + [nat-factoring-WRT-m m] + (middlestep2 x) + (middlestep3 x) + (middlestep4 x) + (middlestep5 x) + (I (op { 1 } (middlestep5 x))) + (I (op { 1 } (middlestep4 x))) + (I (op { 1 } (middlestep3 x))) + (I (op { 1 } (middlestep2 x))) + [nat-factoring-WRT-n n] + (op { 1 } (I (4padL (id (id (id x)))))) + +coh focus-3-4-and-11-12 (x0(f1)x1(f2)x2(f3)x3(f4)x4(f5)x5(f6)x6(f7)x7(f8)x8(f9)x9(f10)x10(f11)x11(f12)x12(f13)x13(f14)x14) + : comp f1 (comp f2 f3) f4 f5 f6 f7 f8 f9 f10 f11 (comp f12 f13) f14 -> comp f1 f2 (comp f3 f4) f5 f6 f7 f8 f9 f10 (comp f11 f12) f13 f14 + +let step6 (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = focus-3-4-and-11-12 + (4padL (id (id (id x)))) + (middlestep1 x) + (comp (comp (3padU x) (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x])) [2paddedL [[id (id (id (id x)))]] [[m]]] (I (3padL (id (id x))))) + (middlestep2 x) + (middlestep3 x) + (middlestep4 x) + (middlestep5 x) + (I (op { 1 } (middlestep5 x))) + (I (op { 1 } (middlestep4 x))) + (I (op { 1 } (middlestep3 x))) + (I (op { 1 } (middlestep2 x))) + (comp (op { 1 } (comp (3padU x) (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x]))) [op { 1 } (2paddedL [[id (id (id (id x)))]] [[n]])] (I (op { 1 } (3padL (id (id x)))))) + (I (op { 1 } (middlestep1 x))) + (op { 1 } (I (4padL (id (id (id x)))))) + +let nat-assoc-WRT-m (x : *) + (m : id (id (id x)) -> id (id (id x))) + = focus-first2-to-middle2 (3padU x) (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x]) [2paddedL [[id (id (id (id x)))]] [[m]]] (I (3padL (id (id x)))) + +coh focus-middle2-to-first2 (x0(f1)x1(f2)x2(f3)x3(f4)x4) : comp f1 (comp f2 f3) f4 -> comp (comp f1 f2) f3 f4 + +let nat-assoc-WRT-n (x : *) + (n : id (id (id x)) -> id (id (id x))) + = I (focus-middle2-to-first2 (3padU x) (op { 1 } (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x])) [op { 1 } (2paddedL [[id (id (id (id x)))]] [[n]])] (I (op { 1 } (3padL (id (id x)))))) + +let step7 (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = comp + (4padL (id (id (id x)))) + (middlestep1 x) + [nat-assoc-WRT-m m] + (middlestep3 x) + (middlestep4 x) + (middlestep5 x) + (I (op { 1 } (middlestep5 x))) + (I (op { 1 } (middlestep4 x))) + (I (op { 1 } (middlestep3 x))) + [nat-assoc-WRT-n n] + (I (op { 1 } (middlestep1 x))) + (op { 1 } (I (4padL (id (id (id x)))))) + +let test (x : *) + (m : id (id (id x)) -> id (id (id x))) + (n : id (id (id x)) -> id (id (id x))) + = comp (step1 m n) (step2 m n) (step3 m n) (step4 m n) (step5 m n) (step6 m n) (step7 m n) + diff --git a/examples/eckmann-hilton-versions/higher-eh/eh430.catt b/examples/eckmann-hilton-versions/higher-eh/eh430.catt new file mode 100644 index 00000000..0cd73335 --- /dev/null +++ b/examples/eckmann-hilton-versions/higher-eh/eh430.catt @@ -0,0 +1,276 @@ +let 1paddedL (x : *) (y : *) + (f : x -> x) (g : x -> y) + = comp f g + +coh 2padL (x(f)y) : f -> 1paddedL (id x) f + +let 1paddedU (x : *) + (f : x -> x) (g : x -> x) + = comp f g + +coh 2padU (x) : id x -> 1paddedU (id x) (id x) + +coh bias (x) : 2padU x -> 2padL (id x) + +coh Ibias (x) : I (2padU x) -> I (2padL (id x)) + +let 2paddedL (x : *) (y : *) + (f : x -> y) (g : x -> y) + (a : id x -> id x) (b : f -> g) + = comp (2padL f) (1paddedL [a] [b]) (I (2padL g)) + +coh 3padL (x(f(a)g)y) : a -> 2paddedL (id (id x)) a + +let 2paddedU (x : *) + (a : id x -> id x) (b : id x -> id x) + = comp (2padU x) (1paddedU [a] [b]) (I (2padU x)) + +coh 3padU (x) : id (id x) -> 2paddedU (id (id x)) (id (id x)) + +let 3paddedL (x : *) (y : *) + (f : x -> y) (g : x -> y) + (a : f -> g) (b : f -> g) + (p : id (id x) -> id (id x)) (q : a -> b) + = comp (3padL a) (2paddedL [p] [q]) (I (3padL b)) + +coh 4padL (x(f(a(p)b)g)y) : p -> 3paddedL (id (id (id x))) p + + +let 3paddedU (x : *) + (p : id (id x) -> id (id x)) (q : (id (id x)) -> (id (id x))) + = comp (3padU x) (2paddedU [p] [q]) (I (3padU x)) + +coh 4padU (x) : id (id (id x)) -> 3paddedU (id (id (id x))) (id (id (id x))) + +let 4paddedL (x : *) (y : *) + (f : x -> y) (g : x -> y) + (a : f -> g) (b : f -> g) + (p : a -> b) (q : a -> b) + (m : id (id (id x)) -> id (id (id x))) (n : p -> q) + = comp (4padL p) (3paddedL [m] [n]) (I (4padL q)) + +coh 5padL (x(f(a(p(m)q)b)g)y) : m -> 4paddedL (id (id (id (id x)))) m + +let 4paddedU (x : *) + (m : id (id (id x)) -> id (id (id x))) (n : id (id (id x)) -> id (id (id x))) + = comp (4padU x) (3paddedU [m] [n]) (I (4padU x)) + +coh 5padU (x) : id (id (id (id x))) -> 4paddedU (id (id (id (id x)))) (id (id (id (id x)))) + + +let 5paddedL (x : *) (y : *) + (f : x -> y) (g : x -> y) + (a : f -> g) (b : f -> g) + (p : a -> b) (q : a -> b) + (m : p -> q) (n : p -> q) + (A : (id (id (id (id x)))) -> id (id (id (id x)))) (B : m -> n) + = comp (5padL m) (4paddedL [A] [B]) (I (5padL n)) +coh 6padL (x(f(a(p(m(A)n)q)b)g)y) : A -> 5paddedL (id (id (id (id (id x))))) A + +let 5paddedU (x : *) + (A : (id (id (id (id x)))) -> id (id (id (id x)))) (B : (id (id (id (id x)))) -> id (id (id (id x)))) + = comp (5padU x) (4paddedU [A] [B]) (I (5padU x)) + +coh 6padU (x) : id (id (id (id (id x)))) -> 5paddedU (id (id (id (id (id x))))) (id (id (id (id (id x))))) + + + +coh factor3padL (x) : 3padL (id (id x)) -> comp (3padU x) (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x]) + +coh unfactor3padU (x) : comp (comp [bias x] (comp [id (id x)] [id (id x)]) [Ibias x]) + (I (3padL (id (id x)))) + -> I (3padU x) + +coh burger (x(f(a)g)y(h)z(j(b)k)w) : comp f h j -> comp g h k + +let nat-of-id-WRT-bias (x : *) (y : *) (z : *) (w : *) + (f1 : x -> y) (f2 : x -> y) (g1 : y -> z) (g2 : y -> z) (h1 : z -> w) (h2 : z -> w) + (a : f1 -> f2) (b : g1 -> g2) (c : h1 -> h2) + = burger a [b] c + + + + + +coh focus-first2-to-middle2 (x0(f1)x1(f2)x2(f3)x3(f4)x4) : comp (comp f1 f2) f3 f4 -> comp f1 (comp f2 f3) f4 + +coh focus-middle2-to-last2 (x0(f1)x1(f2)x2(f3)x3(f4)x4) : comp f1 (comp f2 f3) f4 -> comp f1 f2 (comp f3 f4) + +let trapeziumcomposite (B0 : *) (B1 : *) (B2 : *) (B3 : *) (T0 : *) (T1 : *) + (b1 : B0 -> B1) (b2 : B1 -> B2) (b3 : B2 -> B3) (sL : B0 -> T0) (sR : T1 -> B3) (m1 : T0 -> B1) (m2 : T1 -> B2) (t : T0 -> T1) + (fL : b1 -> comp sL m1) (fM : comp m1 b2 -> comp t m2) (fR : comp m2 b3 -> sR) + = comp + (comp (comp [fL] b2 b3) + (focus-first2-to-middle2 sL m1 b2 b3)) + (comp sL [fM] b3) + (comp (focus-middle2-to-last2 sL t m2 b3) + (comp sL t [fR])) + + + + +let 3paddedLto3paddedU (x : *) (p : id (id x) -> id (id x)) (q : id (id x) -> id (id x)) + : 3paddedL p q -> 3paddedU p q + = trapeziumcomposite (factor3padL x) (nat-of-id-WRT-bias (bias x) (comp [[p]] [[q]]) (Ibias x)) (unfactor3padU x) + +let 3paddedLto3paddedU_nat (x : *) (p0 : id (id x) -> id (id x)) (p1 : id (id x) -> id (id x)) (m : p0 -> p1) (q0 : id (id x) -> id (id x)) (q1 : id (id x) -> id (id x)) (n : q0 -> q1) = I (3paddedLto3paddedU [m] [n]) + +let 3paddedUto3paddedR (x : *) (p : id (id x) -> id (id x)) (q : id (id x) -> id (id x)) + : 3paddedU p q -> (op { 1 } (3paddedL q p)) + = op { 1 } (I (3paddedLto3paddedU q p)) + +let 3paddedUto3paddedR_nat (x : *) (p0 : id (id x) -> id (id x)) (p1 : id (id x) -> id (id x)) (m : p0 -> p1) (q0 : id (id x) -> id (id x)) (q1 : id (id x) -> id (id x)) (n : q0 -> q1) = 3paddedUto3paddedR [m] [n] + + + + + +let middlehalf (x : *) + = 3paddedLto3paddedU (id (id (id x))) (id (id (id x))) + +let middle (x : *) = comp (middlehalf x) (op { 1 } (I (middlehalf x))) + +coh middlereplace (x) : comp (I (4padL (id (id (id x))))) (op { 1 } (4padL (id (id (id x))))) -> middle x + + + + + + + +coh whiskering_interchange (x(f)y(g(a)h(b)i)z(k)w) : comp (comp f [a] k) (comp f [b] k) -> comp f [comp a b] k + +coh whiskering_interchange+ (x(f)y(g(a(p)b(q)c)h)z(k)w) : comp (comp f [[p]] k) (comp f [[q]] k) -> comp f [[comp p q]] k + +let interchange1 (x : *) (m : id (id (id x)) -> id (id (id x))) (n : id (id (id x)) -> id (id (id x))) + = whiskering_interchange (3padU x) (2paddedU [[id (id (id (id x)))]] [[m]]) (2paddedU [[n]] [[id (id (id (id x)))]]) (I (3padU x)) + +let interchange2 (x : *) (m : id (id (id x)) -> id (id (id x))) (n : id (id (id x)) -> id (id (id x))) + = comp (3padU x) [[whiskering_interchange+ (2padU x) (comp [[[id (id (id (id x)))]]] [[[m]]]) (comp [[[n]]] [[[id (id (id (id x)))]]]) (I (2padU x))]] (I (3padU x)) + +coh interchange_inside (x(f(a(p(A)q)b)g)y(h(c(r(B)s)d)i)z) : comp (comp [[[id p]]] [[[B]]]) (comp [[[A]]] [[[id s]]]) -> comp [[[A]]] [[[B]]] + +let interchange3 (x : *) (m : id (id (id x)) -> id (id (id x))) (n : id (id (id x)) -> id (id (id x))) + = comp (3padU x) [[comp (2padU x) [[[interchange_inside n m]]] (I (2padU x))]] (I (3padU x)) + +let interchange (x : *) (m : id (id (id x)) -> id (id (id x))) (n : id (id (id x)) -> id (id (id x))) + = comp (interchange1 m n) (interchange2 m n) (interchange3 m n) + + + + + +coh tidyl (x) : comp (4padL (id (id (id x)))) (3paddedLto3paddedU (id (id (id x))) (id (id (id x)))) -> 4padU x + +coh tidyr (x) : comp (3paddedUto3paddedR (id (id (id x))) (id (id (id x)))) (I (op { 1 } (4padL (id (id (id x)))))) -> I (4padU x) + + + + + +coh focus-33-to-middle2 (x0(f1)x1(f2)x2(f3)x3(f4)x4(f5)x5(f6)x6) : + comp (comp f1 f2 f3) (comp f4 f5 f6) -> comp f1 f2 (comp f3 f4) f5 f6 + +coh focus-middle2-to-1221 (x0(f1)x1(f2)x2(f3)x3(f4)x4(f5)x5(f6)x6) : comp f1 f2 (comp f3 f4) f5 f6 -> comp f1 (comp f2 f3) (comp f4 f5) f6 + +coh focus-1221-to-222 (x0(f1)x1(f2)x2(f3)x3(f4)x4(f5)x5(f6)x6) : comp f1 (comp f2 f3) (comp f4 f5) f6 -> comp (comp f1 f2) (comp f3 f4) (comp f5 f6) + +let totalshape (A0 : *) (B0 : *) (C0 : *) + (B1 : *) + (A1 : *) (C1 : *) + (B2 : *) + (A2 : *) (B3 : *) (C2 : *) + + (m : A0 -> A1) (n : A1 -> A2) + (lpad : A0 -> B0) (lwhiskm : B0 -> B1) (ilpad : B1 -> A1) (rpad : A1 -> B2) (rwhiskn : B2 -> B3) (irpad : B3 -> A2) + (lmoves_outer : B0 -> C0) (lmoves_inner : B1 -> C1) (rmoves_inner : C1 -> B2) (rmoves_outer : C2 -> B3) + (uwhiskm : C0 -> C1) (uwhiskn : C1 -> C2) (mn : C0 -> C2) (upad : A0 -> C0) (iupad : C2 -> A2) + + (lpadm : m -> comp lpad lwhiskm ilpad) (rpadn : n -> comp rpad rwhiskn irpad) + (middlereplace : comp ilpad rpad -> comp lmoves_inner rmoves_inner) + (lnat : comp lwhiskm lmoves_inner -> comp lmoves_outer uwhiskm) + (rnat : comp rmoves_inner rwhiskn -> comp uwhiskn rmoves_outer) + (interchange : comp uwhiskm uwhiskn -> mn) (tidyl : comp lpad lmoves_outer -> upad) (tidyr : comp rmoves_outer irpad -> iupad) + + = comp + (comp [lpadm] [rpadn]) + (focus-33-to-middle2 _ _ _ _ _ _) + (comp _ _ [middlereplace] _ _) + (focus-middle2-to-1221 _ _ _ _ _ _) + (comp _ [lnat] [rnat] _) + (focus-1221-to-222 _ _ _ _ _ _) + (comp [tidyl] [interchange] [tidyr]) + + + +let eh430 (x : *) (m : id (id (id x)) -> id (id (id x))) (n : id (id (id x)) -> id (id (id x))) + : comp m n -> 4paddedU n m + = totalshape + (5padL m) (op { 1 } (5padL n)) + (middlereplace x) + (3paddedLto3paddedU_nat (id (id (id (id x)))) m) + (3paddedUto3paddedR_nat n (id (id (id (id x))))) + (interchange m n) + (tidyl x) (tidyr x) + +coh factor4padL (x) : 4padL (id (id (id x))) -> comp (4padU x) (I (3paddedLto3paddedU (id (id (id x))) (id (id (id x))))) + +let 3paddedUto3paddedL (x : *) (a : id (id x) -> id (id x)) (b : id (id x) -> id (id x)) = I (3paddedLto3paddedU a b) + +let 3paddedUto3paddedL_nat (x : *) (a0 : id (id x) -> id (id x)) (a1 : id (id x) -> id (id x)) (a : a0 -> a1) (b0 : id (id x) -> id (id x)) (b1 : id (id x) -> id (id x)) (b : b0 -> b1) = 3paddedUto3paddedL [a] [b] + +coh unfactor4padU (x) : comp (3paddedUto3paddedL (id (id (id x))) (id (id (id x)))) (I (4padL (id (id (id x))))) -> I (4padU x) + +let 4paddedLto4paddedU (x : *) (a : (id (id (id x))) -> (id (id (id x)))) + : 4paddedL (id (id (id (id x)))) a -> 4paddedU (id (id (id (id x)))) a + = trapeziumcomposite (factor4padL x) (3paddedUto3paddedL_nat (id (id (id (id x)))) a) (unfactor4padU x) + +let 4paddedLto4paddedU_nat (x : *) (a0 : (id (id (id x))) -> (id (id (id x)))) (a1 : (id (id (id x))) -> (id (id (id x)))) (a : a0 -> a1) + + = 4paddedLto4paddedU [a] + + +let 4paddedUto4paddedR (x : *) (a : (id (id (id x))) -> (id (id (id x)))) + = I (op { 1 } (4paddedLto4paddedU a)) + +let 4paddedUto4paddedR_nat (x : *) (a0 : (id (id (id x))) -> (id (id (id x)))) (a1 : (id (id (id x))) -> (id (id (id x)))) (a : a0 -> a1) + + = 4paddedUto4paddedR [a] + +coh middlereplace+ (x) : comp (I (5padL (id (id (id (id x)))))) (op { 1 } (5padL (id (id (id (id x)))))) -> comp (4paddedLto4paddedU (id (id (id (id x))))) (4paddedUto4paddedR (id (id (id (id x))))) + + +coh whiskering_interchange++ (x(f)y(g(a(p(A)q(B)r)b)h)z(k)w) : comp (comp f [[[A]]] k) (comp f [[[B]]] k) -> comp f [[[comp A B]]] k + +let interchange+1 (x : *) (a : id (id (id (id x))) -> id (id (id (id x)))) (b : id (id (id (id x))) -> id (id (id (id x)))) + = whiskering_interchange (4padU x) (3paddedU [[id (id (id (id (id x))))]] [[a]]) (3paddedU [[b]] [[id (id (id (id (id x))))]]) (I (4padU x)) + + +let interchange+2 (x : *) (a : id (id (id (id x))) -> id (id (id (id x)))) (b : id (id (id (id x))) -> id (id (id (id x)))) + = comp (4padU x) [[whiskering_interchange+ (3padU x) (2paddedU [[[id (id (id (id (id x))))]]] [[[a]]]) (2paddedU [[[b]]] [[[id (id (id (id (id x))))]]]) (I (3padU x))]] (I (4padU x)) + +let interchange+3 (x : *) (a : id (id (id (id x))) -> id (id (id (id x)))) (b : id (id (id (id x))) -> id (id (id (id x)))) + = comp (4padU x) [[comp (3padU x) [[[whiskering_interchange++ (2padU x) (1paddedU [[[[id (id (id (id (id x))))]]]] [[[[a]]]]) (1paddedU [[[[b]]]] [[[[id (id (id (id (id x))))]]]]) (I (2padU x))]]] (I (3padU x))]] (I (4padU x)) + +coh interchange_inside+ (x(f(a(p(A(S)B)q)b)g)y(h(c(r(C(T)D)s)d)i)z) : comp (comp [[[[id A]]]] [[[[T]]]]) (comp [[[[S]]]] [[[[id D]]]]) -> comp [[[[S]]]] [[[[T]]]] + +let interchange+ (x : *) (a : id (id (id (id x))) -> id (id (id (id x)))) (b : id (id (id (id x))) -> id (id (id (id x)))) + = comp + (interchange+1 a b) + (interchange+2 a b) + (interchange+3 a b) + (comp (4padU x) [[comp (3padU x) [[[comp (2padU x) [[[[interchange_inside+ b a]]]] (I (2padU x))]]] (I (3padU x))]] (I (4padU x))) + +coh tidyl+ (x) : comp (5padL (id (id (id (id x))))) (4paddedLto4paddedU (id (id (id (id x))))) -> 5padU x + +coh tidyr+ (x) : comp (4paddedUto4paddedR (id (id (id (id x))))) (I (op { 1 } (5padL (id (id (id (id x))))))) -> I (5padU x) + +let eh540 (x : *) (a : id (id (id (id x))) -> id (id (id (id x)))) (b : id (id (id (id x))) -> id (id (id (id x)))) + : comp a b -> 5paddedU b a + = totalshape + (6padL a) (op { 1 } (6padL b)) + (middlereplace+ x) + (4paddedLto4paddedU_nat a) + (4paddedUto4paddedR_nat b) + (interchange+ a b) + (tidyl+ x) (tidyr+ x) diff --git a/examples/eckmann-hilton-versions/higher-eh/ehbasecases.catt b/examples/eckmann-hilton-versions/higher-eh/ehbasecases.catt new file mode 100644 index 00000000..22069f46 --- /dev/null +++ b/examples/eckmann-hilton-versions/higher-eh/ehbasecases.catt @@ -0,0 +1,185 @@ +let padded1 (x : *) (p : x -> x) = p +let bpadded1 (x : *) (y : *) (q : x -> y) = q + +coh pad1 (x) : id x -> padded1 (comp (id x) (id x)) +coh bpad1 (x(f)y) : f -> bpadded1 (comp f (id y)) + +let padded2 (x : *) (p : comp (id x) (id x) -> comp (id x) (id x)) + = comp (pad1 x) (padded1 [p]) (I (pad1 x)) +let bpadded2 (x : *) (y : *) (f : x -> y) (g : x -> y) (q : comp f (id y) -> comp g (id y)) + = comp (bpad1 f) (bpadded1 [q]) (I (bpad1 g)) + +coh pad2 (x) : id (id x) -> padded2 (comp [id (id x)] [id (id x)]) +coh bpad2 (x(f(a)g)y) : a -> bpadded2 (comp [a] [id (id y)]) + +let padded3 (x : *) (p : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) + = comp (pad2 x) (padded2 [p]) (I (pad2 x)) +let bpadded3 (x : *) (y : *) (f : x -> y) (g : x -> y) (a : f -> g) (b : f -> g) (q : comp [a] [id (id y)] -> comp [b] [id (id y)]) + = comp (bpad2 a) (bpadded2 [q]) (I (bpad2 b)) + +coh pad3 (x) : id (id (id x)) -> padded3 (comp [[id (id (id x))]] [[id (id (id x))]]) +coh bpad3 (x(f(a(X)b)g)y) : X -> bpadded3 (comp [[X]] [[id (id (id y))]]) + +let padded4 (x : *) (p : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) + = comp (pad3 x) (padded3 [p]) (I (pad3 x)) +let bpadded4 (x : *) (y : *) (f : x -> y) (g : x -> y) (a : f -> g) (b : f -> g) (X : a -> b) (Y : a -> b) (q : comp [[X]] [[id (id (id y))]] -> comp [[Y]] [[id (id (id y))]]) + = comp (bpad3 X) (bpadded3 [q]) (I (bpad3 Y)) + +coh pad4 (x) : id (id (id (id x))) -> padded4 (comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) +coh bpad4 (x(f(a(X(F)Y)b)g)y) : F -> bpadded4 (comp [[[F]]] [[[id (id (id (id y)))]]]) + +let padded5 (x : *) (p : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) + = comp (pad4 x) (padded4 [p]) (I (pad4 x)) +let bpadded5 (x : *) (y : *) (f : x -> y) (g : x -> y) (a : f -> g) (b : f -> g) (X : a -> b) (Y : a -> b) (F : X -> Y) (G : X -> Y) (q : comp [[[F]]] [[[id (id (id (id y)))]]] -> comp [[[G]]] [[[id (id (id (id y)))]]]) + = comp (bpad4 F) (bpadded4 [q]) (I (bpad4 G)) + +coh pad5 (x) : id (id (id (id (id x)))) -> padded5 (comp [[[[id (id (id (id (id x))))]]]] [[[[id (id (id (id (id x))))]]]]) +coh bpad5 (x(f(a(X(F(A)G)Y)b)g)y) : A -> bpadded5 (comp [[[[A]]]] [[[[id (id (id (id (id y))))]]]]) + + + + + + + +coh peel1 (x(f)y(g(a)h(b)i)z(j)w) : comp (comp f [a] j) (comp f [b] j) -> comp f [comp a b] j +coh peel2 (x(f)y(g(a(X)b(Y)c)h)z(j)w) : comp (comp f [[X]] j) (comp f [[Y]] j) -> comp f [[comp X Y]] j +coh peel3 (x(f)y(g(a(X(F)Y(G)Z)b)h)z(j)w) : comp (comp f [[[F]]] j) (comp f [[[G]]] j) -> comp f [[[comp F G]]] j + +let collapse3 (x : *) (p : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) (q : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) + = peel1 (pad1 x) p q (I (pad1 x)) + +coh interchange3 (x(f(a(X)b)g)y(h(c(Y)d)i)z) : comp (comp [[X]] [[id c]]) (comp [[id b]] [[Y]]) -> comp [[X]] [[Y]] + +let move_parallel3 (x : *) (a : id (id x) -> id (id x)) (b : id (id x) -> id (id x)) + = comp (collapse3 (comp [[a]] [[id (id (id x))]]) (comp [[id (id (id x))]] [[b]])) (padded2 [[interchange3 a b]]) + + +coh interchange4 (x(f(a(X(F)Y)b)g)y(h(c(Z(G)W)d)i)z) : comp (comp [[[F]]] [[[id Z]]]) (comp [[[id Y]]] [[[G]]]) -> comp [[[F]]] [[[G]]] + + + + +coh focus33tomiddle2 (x0(f1)x1(f2)x2(f3)x3(f4)x4(f5)x5(f6)x6) : comp (comp f1 f2 f3) (comp f4 f5 f6) -> comp f1 f2 (comp f3 f4) f5 f6 + +coh 4unitor (x0(f1)x1(f2)x2(f3)x3(f4)x4) : comp f1 f2 (id x2) f3 f4 -> comp f1 (comp f2 f3) f4 + +let collapse12 (x : *) (p : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) (q : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) + : comp (padded1 [[p]]) (padded1 [[q]]) -> padded1 [[comp p q]] + = id (comp p q) + +let collapse21 (x : *) (p : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) (q : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) + : comp (padded2 [p]) (padded2 [q]) -> padded2 [comp p q] + = comp (peel1 (pad1 x) (padded1 [[p]]) (padded1 [[q]]) (I (pad1 x))) (comp _ [[collapse12 p q]] _) + +let collapse30 (x : *) (p : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) (q : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) + : comp (padded3 p) (padded3 q) -> padded3 (comp p q) + = comp + (focus33tomiddle2 (pad2 x) (padded2 [p]) (I (pad2 x)) (pad2 x) (padded2 [q]) (I (pad2 x))) + (comp _ _ [U (I (pad2 x))] _ _) + (4unitor (pad2 x) (padded2 [p]) (padded2 [q]) (I (pad2 x))) + (comp _ [collapse21 p q] _) + +let collapse13 (x : *) (p : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) (q : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) + : comp (padded1 [[[p]]]) (padded1 [[[q]]]) -> padded1 [[[comp p q]]] + = id (comp p q) + +let collapse22 (x : *) (p : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) (q : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) + : comp (padded2 [[p]]) (padded2 [[q]]) -> padded2 [[comp p q]] + = comp + (peel2 (pad1 x) (padded1 [[[p]]]) (padded1 [[[q]]]) (I (pad1 x))) (comp _ [[[collapse13 p q]]] _) + +let collapse31 (x : *) (p : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) (q : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) + : comp (padded3 [p]) (padded3 [q]) -> padded3 [comp p q] + = comp (peel1 (pad2 x) (padded2 [[p]]) (padded2 [[q]]) (I (pad2 x))) (comp _ [[collapse22 p q]] _) + +let collapse40 (x : *) (p : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) (q : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) + : comp (padded4 p) (padded4 q) -> padded4 (comp p q) + = comp + (focus33tomiddle2 (pad3 x) (padded3 [p]) (I (pad3 x)) (pad3 x) (padded3 [q]) (I (pad3 x))) + (comp _ _ [U (I (pad3 x))] _ _) + (4unitor (pad3 x) (padded3 [p]) (padded3 [q]) (I (pad3 x))) + (comp _ [collapse31 p q] _) + +let collapse14 (x : *) (p : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) (q : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) + : comp (padded1 [[[[p]]]]) (padded1 [[[[q]]]]) -> padded1 [[[[comp p q]]]] + = id (comp p q) + +let collapse23 (x : *) (p : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) (q : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) + : comp (padded2 [[[p]]]) (padded2 [[[q]]]) -> padded2 [[[comp p q]]] + = comp (peel3 (pad1 x) (padded1 [[[[p]]]]) (padded1 [[[[q]]]]) (I (pad1 x))) (comp _ [[[[collapse14 p q]]]] _) + +let collapse32 (x : *) (p : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) (q : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) + : comp (padded3 [[p]]) (padded3 [[q]]) -> padded3 [[comp p q]] + = comp (peel2 (pad2 x) (padded2 [[[p]]]) (padded2 [[[q]]]) (I (pad2 x))) (comp _ [[[collapse23 p q]]] _) + +let collapse41 (x : *) (p : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) (q : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) + : comp (padded4 [p]) (padded4 [q]) -> padded4 [comp p q] + = comp (peel1 (pad3 x) (padded3 [[p]]) (padded3 [[q]]) (I (pad3 x))) (comp _ [[collapse32 p q]] _) + +let collapse50 (x : *) (p : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) (q : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) + : comp (padded5 p) (padded5 q) -> padded5 (comp p q) + = comp + (focus33tomiddle2 (pad4 x) (padded4 [p]) (I (pad4 x)) (pad4 x) (padded4 [q]) (I (pad4 x))) + (comp _ _ [U (I (pad4 x))] _ _) + (4unitor (pad4 x) (padded4 [p]) (padded4 [q]) (I (pad4 x))) + (comp _ [collapse41 p q] _) + +coh interchange5 (x(f(a(X(F(A)G)Y)b)g)y(h(c(Z(H(B)K)W)d)i)z) : comp (comp [[[[A]]]] [[[[id H]]]]) (comp [[[[id G]]]] [[[[B]]]]) -> comp [[[[A]]]] [[[[B]]]] + +let hexcomp (x : *) (y- : *) (y+ : *) (y> : y- -> y+) (z- : *) (z+ : *) (z> : z- -> z+) (w : *) (f- : x -> y-) (f+ : x -> y+) (f> : comp f- y> -> f+) (g- : y- -> z-) (g+ : y+ -> z+) (g> : comp g- z> -> comp y> g+) (h- : z- -> w) (h+ : z+ -> w) (h> : h- -> comp z> h+) + = @comp _ [_] [f>] [_] [g>] _ [h>] + +let unbias1 (x : *) (p : x -> x) : bpadded1 p -> padded1 p + = id p +coh factor1 (x) : I (bpad1 (id x)) -> comp (unbias1 (comp (id x) (id x))) (I (pad1 x)) +coh unfactor1 (x) : comp (bpad1 (id x)) (unbias1 (comp (id x) (id x))) -> pad1 x + +let unbias2 (x : *) (p : comp (id x) (id x) -> comp (id x) (id x)) : bpadded2 p -> padded2 p + = hexcomp (unfactor1 x) (I (unbias1 [p])) (factor1 x) +coh factor2 (x) : I (bpad2 (id (id x))) -> comp (unbias2 (comp [id (id x)] [id (id x)])) (I (pad2 x)) +coh unfactor2 (x) : comp (bpad2 (id (id x))) (unbias2 (comp [id (id x)] [id (id x)])) -> pad2 x + +let unbias3 (x : *) (p : comp [id (id x)] [id (id x)] -> comp [id (id x)] [id (id x)]) : bpadded3 p -> padded3 p + = hexcomp (unfactor2 x) (I (unbias2 [p])) (factor2 x) +coh factor3 (x) : I (bpad3 (id (id (id x)))) -> comp (unbias3 (comp [[id (id (id x))]] [[id (id (id x))]])) (I (pad3 x)) +coh unfactor3 (x) : comp (bpad3 (id (id (id x)))) (unbias3 (comp [[id (id (id x))]] [[id (id (id x))]])) -> pad3 x + +let upad3 (x : *) (a : id (id x) -> id (id x)) + = comp (bpad3 a) (unbias3 (comp [[a]] [[id (id (id x))]])) + +let eh320 (x : *) (a : id (id x) -> id (id x)) (b : id (id x) -> id (id x)) + : comp a b -> padded3 (comp [[a]] [[b]]) + = comp + (comp [upad3 a] [op { 1 } (upad3 b)]) + (collapse30 (comp [[a]] [[id (id (id x))]]) (comp [[id (id (id x))]] [[b]])) + (padded3 [interchange3 a b]) + +let unbias4 (x : *) (p : comp [[id (id (id x))]] [[id (id (id x))]] -> comp [[id (id (id x))]] [[id (id (id x))]]) : bpadded4 p -> padded4 p + = hexcomp (unfactor3 x) (I (unbias3 [p])) (factor3 x) +coh factor4 (x) : I (bpad4 (id (id (id (id x))))) -> comp (unbias4 (comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]])) (I (pad4 x)) +coh unfactor4 (x) : comp (bpad4 (id (id (id (id x))))) (unbias4 (comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]])) -> pad4 x + + +let upad4 (x : *) (a : id (id (id x)) -> id (id (id x))) + = comp (bpad4 a) (unbias4 (comp [[[a]]] [[[id (id (id (id x)))]]])) + +let eh430 (x : *) (a : id (id (id x)) -> id (id (id x))) (b : id (id (id x)) -> id (id (id x))) + : comp a b -> padded4 (comp [[[a]]] [[[b]]]) + = comp + (comp [upad4 a] [op { 1 } (upad4 b)]) + (collapse40 (comp [[[a]]] [[[id (id (id (id x)))]]]) (comp [[[id (id (id (id x)))]]] [[[b]]])) + (padded4 [interchange4 a b]) + +let unbias5 (x : *) (p : comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]] -> comp [[[id (id (id (id x)))]]] [[[id (id (id (id x)))]]]) : bpadded5 p -> padded5 p + = hexcomp (unfactor4 x) (I (unbias4 [p])) (factor4 x) + +let upad5 (x : *) (a : id (id (id (id x))) -> id (id (id (id x)))) + = comp (bpad5 a) (unbias5 (comp [[[[a]]]] [[[[id (id (id (id (id x))))]]]])) + +let eh540 (x : *) (a : id (id (id (id x))) -> id (id (id (id x)))) (b : id (id (id (id x))) -> id (id (id (id x)))) + : comp a b -> padded5 (comp [[[[a]]]] [[[[b]]]]) + = comp + (comp [upad5 a] [op { 1 } (upad5 b)]) + (collapse50 (comp [[[[a]]]] [[[[id (id (id (id (id x))))]]]]) (comp [[[[id (id (id (id (id x))))]]]] [[[[b]]]])) + (padded5 [interchange5 a b]) diff --git a/examples/eh-builtin.catt b/examples/eh-builtin.catt new file mode 100644 index 00000000..1f4c8d01 --- /dev/null +++ b/examples/eh-builtin.catt @@ -0,0 +1,16 @@ +check eh(2,0,1) +check eh(3,0,1) +check eh(4,2,1) +check eh(3,1,2) +check eh(4,3,2) +check eh(3,1,2) +check eh(4,2,3) +check eh(3,0,2) +check eh(2,1,0) +check eh(9,8,7) +check eh(3,2,0) +check EH(2,0,1) +check EH(3,0,1) +check EH(3,1,2) +check EH(3,1,2) +check EH(3,2,0) diff --git a/examples/horizontalinverses.catt b/examples/horizontalinverses.catt new file mode 100644 index 00000000..47c43d86 --- /dev/null +++ b/examples/horizontalinverses.catt @@ -0,0 +1,15 @@ +coh unit_l (x(f)y) : f -> comp (id x) f + +coh unit_r (x(f)y) : f -> comp f (id y) + +coh h_unit_l (x(f(a)g)y) : a -> comp (unit_l f) (commp [id (id x)] [a]) (I(unit_l g)) + +let v_inverse (x : *) (y : *) (f : x -> y) (g : x -> y) (if : y -> x) (ig : y -> x) (ef : id x -> comp f if) (ieig : comp ig g -> id y) (ia : if -> ig) += +comp (unit_l g) (comp [ef] g) (comp f [ia] g) (comp f [ieig]) (I (unit_r f)) + +let v_witness (x : *) (y : *) (f : x -> y) (g : x -> y) (if : y -> x) (ig : y -> x) (ef : id x -> comp f if) (ief : comp f if -> f) (eef : id (id x) -> comp ef ief) (ieg : comp g ig -> id x) (ieig : comp ig g -> id y) (a : f -> g) (ia : if -> ig) (ea: comp (ef) (comp [a] [ia]) (ieg) -> id (id x)) +: comp a (v_inverse ef ieig ia) a -> id f += comp +(comp [h_unit_l a] (v_inverse ef ieig ia)) + diff --git a/lib/command.ml b/lib/command.ml index 8863d1b3..bd3367a7 100644 --- a/lib/command.ml +++ b/lib/command.ml @@ -15,6 +15,8 @@ type cmd = | Decl of Var.t * (Var.t * tyR) list * tmR * tyR option | Decl_builtin of Var.t * builtin | Set of string * string + | Benchmark of (Var.t * tyR) list * tmR + | Benchmark_builtin of builtin type prog = cmd list @@ -103,16 +105,15 @@ let exec_cmd cmd = let e, ty = check l e t in Io.info (lazy - (Printf.sprintf "valid term %s of type %s" (Unchecked.tm_to_string e) - (Unchecked.ty_to_string ty))) + (Printf.sprintf "valid term %s of type %s" (Printing.tm_to_string e) + (Printing.ty_to_string ty))) | Decl (v, l, e, t) -> Io.command "let %s = %s" (Var.to_string v) (Raw.string_of_tm e); let tm, ty = exec_decl v l e t in Io.info (lazy (Printf.sprintf "successfully defined term %s of type %s" - (Unchecked.tm_to_string tm) - (Unchecked.ty_to_string ty))) + (Printing.tm_to_string tm) (Printing.ty_to_string ty))) | Set (o, v) -> ( try exec_set o v with | UnknownOption o -> Error.unknown_option o @@ -125,7 +126,7 @@ let exec_cmd cmd = (lazy (Printf.sprintf "valid term %s of type %s" (Environment.value_to_string e) - (Unchecked.ty_to_string ty))) + (Printing.ty_to_string ty))) | Decl_builtin (v, b) -> Io.command "let %s = %s" (Var.to_string v) (Raw.string_of_builtin b); let e, ty = exec_decl_builtin v b in @@ -133,7 +134,25 @@ let exec_cmd cmd = (lazy (Printf.sprintf "successfully defined term %s of type %s" (Environment.value_to_string e) - (Unchecked.ty_to_string ty))) + (Printing.ty_to_string ty))) + | Benchmark (l, e) -> + let e, _ = check l e None in + Io.info + (lazy + (Printf.sprintf "term computes to:\n %s" + (Printing.print_kolmogorov e))) + | Benchmark_builtin b -> + let e, _ = exec_check_builtin b in + let e = + match e with + | Environment.Coh _ -> + Error.fatal "bechmarking a builtin resolving to a coherence" + | Environment.Tm e -> Tm.develop e + in + Io.info + (lazy + (Printf.sprintf "term computes to:\n %s" + (Printing.print_kolmogorov e))) type next = Abort | KeepGoing | Interactive diff --git a/lib/command.mli b/lib/command.mli index 50dfe613..ba22549b 100644 --- a/lib/command.mli +++ b/lib/command.mli @@ -10,6 +10,8 @@ type cmd = | Decl of Var.t * (Var.t * tyR) list * tmR * tyR option | Decl_builtin of Var.t * builtin | Set of string * string + | Benchmark of (Var.t * tyR) list * tmR + | Benchmark_builtin of builtin type prog = cmd list diff --git a/lib/common.ml b/lib/common.ml index 5cc4273b..4e4448fc 100644 --- a/lib/common.ml +++ b/lib/common.ml @@ -23,16 +23,13 @@ module Var = struct let make_var s = Name s - let rec check_equal v1 v2 = + let rec is_equal v1 v2 = match (v1, v2) with - | Name s1, Name s2 -> - if not (String.equal s1 s2) then raise (NotEqual (s1, s2)) else () - | New i, New j -> - if i != j then raise (NotEqual (to_string v1, to_string v2)) else () - | Db i, Db j -> - if i != j then raise (NotEqual (to_string v1, to_string v2)) else () - | Plus v1, Plus v2 | Bridge v1, Bridge v2 -> check_equal v1 v2 - | _, _ -> raise (NotEqual (to_string v1, to_string v2)) + | Name s1, Name s2 -> String.equal s1 s2 + | New i, New j -> i = j + | Db i, Db j -> i = j + | Plus v1, Plus v2 | Bridge v1, Bridge v2 -> is_equal v1 v2 + | _, _ -> false let rec suspend_n v n = match v with diff --git a/lib/common.mli b/lib/common.mli index 5df20dc5..8fea4929 100644 --- a/lib/common.mli +++ b/lib/common.mli @@ -15,7 +15,7 @@ module Var : sig val to_string : t -> string val make_var : string -> t - val check_equal : t -> t -> unit + val is_equal : t -> t -> bool val suspend : t -> t val suspend_n : t -> int -> t val fresh : unit -> t diff --git a/lib/cubical_composite.ml b/lib/cubical_composite.ml index 73e94890..5801e05f 100644 --- a/lib/cubical_composite.ml +++ b/lib/cubical_composite.ml @@ -380,7 +380,7 @@ let bridge_ps ps_inter l_inter d = let bridge_coh coh ps_bridge = let _, _, name = Coh.forget coh in let src, tgt, _ = Coh.noninv_srctgt coh in - let name_red = (Unchecked.full_name name ^ "_red", 0, []) in + let name_red = (Printing.full_name name ^ "_red", 0, []) in let coh_bridge = Coh.check_noninv ps_bridge src tgt name_red in coh_bridge diff --git a/lib/cylinders.ml b/lib/cylinders.ml index d7428f28..65a0883a 100644 --- a/lib/cylinders.ml +++ b/lib/cylinders.ml @@ -319,7 +319,6 @@ module Codim1 = struct (Induct.ctx n) (Suspension.sub (Some 1) (Cylinder.bdry_left (n - 1) (n - 2))) in - Io.debug "substitution:%s" (Unchecked.sub_to_string_debug sub); check_term (Ctx.check ctx_comp) ~name:(name, 0, []) (App (comp, sub)) in let intch_lower, intch_upper = intch n in diff --git a/lib/eh.ml b/lib/eh.ml new file mode 100644 index 00000000..1ed77466 --- /dev/null +++ b/lib/eh.ml @@ -0,0 +1,610 @@ +open Common +open Kernel +open Unchecked_types.Unchecked_types (Coh) (Tm) + +module type EHArgsS = sig + val n : int + val k : int + val l : int +end + +module type BiasedPaddingArgsS = sig + val n : int +end + +let memo_args = Hashtbl.create 97 +let memo_args_biased = Hashtbl.create 97 + +let args n k l = + match Hashtbl.find_opt memo_args (n, k, l) with + | Some m -> m + | None -> + let res = + (module struct + let n = n + let k = k + let l = l + end : EHArgsS) + in + Hashtbl.add memo_args (n, k, l) res; + res + +let args_biased n = + match Hashtbl.find_opt memo_args_biased n with + | Some m -> m + | None -> + let res = + (module struct + let n = n + end : BiasedPaddingArgsS) + in + Hashtbl.add memo_args_biased n res; + res + +module UnbiasedPadding (Args : EHArgsS) = Padding.Padding.MakeCanonical (struct + let name = "UBPad" + let x = Var.Db 0 + let x_constr = (Var x, Obj) + + let id2 i j = + let id = Construct.id_n i (Var x, Obj) in + if j < i then Construct.wcomp id j id else id + + let id_l_id i = id2 i Args.l + + module F = Padding.Filtration.Make (struct + let min = Int.min Args.k Args.l + 1 + let max = Args.n + let v _ = Var.Db 1 + let ty i = Construct.arr (id_l_id i) (id_l_id i) + let ctx i = [ (v i, (ty (i - 1), true)); (x, (Obj, false)) ] + end) + + module D = struct + let ps _ = Unchecked.disc 0 + let p_src i = id2 i Args.k + let q_tgt i = id2 i Args.k + let p_inc _ = [ x_constr ] + let q_inc _ = [ x_constr ] + + let pad_in_ps i = + [ (F.v i, (Construct.to_tm (id_l_id i), true)); (x, (Var x, false)) ] + end +end) + +(* Find a good place for these *) +let d_src i = (Var (Var.Db (2 * i)), Unchecked.disc_type i) +let d_tgt i = (Var (Var.Db ((2 * i) + 1)), Unchecked.disc_type i) + +let t_comp_id d t = + if d = 0 then t else Construct.(wcomp t 0 (id_n d (d_tgt 0))) + +module ForwardBiasedPadding (Args : BiasedPaddingArgsS) = +Padding.Padding.MakeCanonical (struct + let name = "FPad" + + module F = Padding.Filtration.Make (struct + let min = 1 + let max = Args.n + let ctx i = Unchecked.ps_to_ctx (Unchecked.disc i) + let v i = Var.Db (2 * i) + end) + + module D = struct + let ps i = Unchecked.disc i + let p_src i = t_comp_id i (F.src_v (i + 1)) + let q_tgt i = p_src i + let p_inc i = [ (Var (Var.Db (2 * i)), Unchecked.disc_type i) ] + let q_inc i = [ (Var (Var.Db ((2 * i) + 1)), Unchecked.disc_type i) ] + let pad_in_ps i = Unchecked.(identity (ps_to_ctx (ps i))) + end +end) + +module BackwardBiasedPadding (Args : BiasedPaddingArgsS) = +Padding.Padding.MakeCanonical (struct + let name = "BPad" + + module F = Padding.Filtration.Make (struct + let min = 1 + let max = Args.n + let ty_v i = Construct.arr (t_comp_id i (d_src i)) (t_comp_id i (d_tgt i)) + let v i = Var.Db (2 * i) + let ctx i = (v i, (ty_v (i - 1), true)) :: Unchecked.sphere (i - 1) + end) + + module D = struct + let ps i = Unchecked.disc i + let p_src i = d_src i + let q_tgt i = d_src i + let p_inc i = [ d_src i ] + let q_inc i = [ d_tgt i ] + + let pad_in_ps i = + (F.v i, (Construct.to_tm (F.src_v (i + 1)), true)) + :: Unchecked.(identity (sphere (i - 1))) + end +end) + +module ForwardToUnbiasedRepadding (Args : BiasedPaddingArgsS) = +Padding.Repadding.MakeCanonical (struct + let name = "FToURepad" + + module EHArgs = (val args Args.n 0 (Args.n - 1) : EHArgsS) + module P2 = UnbiasedPadding (EHArgs) + module FP = ForwardBiasedPadding (Args) + + module M : Padding.FiltrationMorphismS = struct + let name = "id" + + let sub i = + Unchecked.sub_ps_to_sub + (Construct.characteristic_sub_ps (P2.F.v_constr i)) + end + + module P1 = Padding.PaddingApp (P2.F) (M) (FP) + + module D = struct + let ps _ = Br [] + let incl _ = [ (Var (Var.Db 0), Obj) ] + end +end) + +module BackwardToUnbiasedRepadding (Args : BiasedPaddingArgsS) = +Padding.Repadding.MakeCanonical (struct + let name = "BToURepad" + + module EHArgs = (val args Args.n (Args.n - 1) 0) + module P2 = UnbiasedPadding (EHArgs) + module BP = BackwardBiasedPadding (Args) + + module M : Padding.FiltrationMorphismS = struct + let name = "id" + + let sub i = + let id_pt i = Construct.(to_tm (id_n i (Var (Var.Db 0), Obj))) in + let rec sphere_to_point i = + match i with + | -1 -> [] + | i -> + (Var.Db ((2 * i) + 1), (id_pt i, false)) + :: (Var.Db (2 * i), (id_pt i, false)) + :: sphere_to_point (i - 1) + in + (BP.F.v i, (Var (P2.F.v i), true)) :: sphere_to_point (i - 1) + end + + module P1 = Padding.PaddingApp (P2.F) (M) (BP) + + module D = struct + let ps _ = Br [] + let incl _ = [ (Var (Var.Db 0), Obj) ] + end +end) + +module SuspUnbiasedToUnbiasedRepadding (Args : EHArgsS) = +Padding.Repadding.MakeCanonical (struct + let name = "ΣUToURepad" + + module PrevArgs = (val args (Args.n - 1) (Args.k - 1) (Args.l - 1)) + + let x = Var.Db 0 + let x_constr = (Var x, Obj) + + module P2 = UnbiasedPadding (Args) + module PrevA = UnbiasedPadding (PrevArgs) + module Prev = Padding.Suspend (UnbiasedPadding (PrevArgs)) + + module M : Padding.FiltrationMorphismS = struct + let name = "Susp" + + let sub _ = + let list = [ P2.v_constr; Construct.id x_constr; x_constr; x_constr ] in + Construct.make_sub Prev.ctx list + end + + module P1 = Padding.PaddingApp (P2.F) (M) (Prev) + + module D = struct + let ps _ = Br [] + let incl _ = [ x_constr ] + end +end) + +module PseudoFunctorialityUnbiasedPadding (Args : EHArgsS) = struct + module UP = UnbiasedPadding (Args) + + let x = Var.Db 0 + let w = Var.Db 2 + let ty = snd UP.v_constr + let ctx = (w, (ty, true)) :: UP.ctx + let w_constr = (Var w, ty) + let x_constr = (Var x, Obj) + let v_constr = UP.v_constr + + let assoc n = + let tree = Builtin.Comp.tree 6 in + let f i = Builtin.Comp.f i in + let ty = + Construct.( + arr + (wcomp (comp3 (f 1) (f 2) (f 3)) 0 (comp3 (f 4) (f 5) (f 6))) + (comp3 (f 1) (comp3 (f 2) (wcomp (f 3) 0 (f 4)) (f 5)) (f 6))) + in + Suspension.coh (Some n) (check_coh tree ty ("_builtin_assoc", 0, [])) + + let unitor n = + let tree = Builtin.Comp.tree 2 in + let f i = Builtin.Comp.f i in + let x i = Builtin.Comp.x i in + let ty = + Construct.(arr (comp3 (f 1) (id_n 1 (x 1)) (f 2)) (wcomp (f 1) 0 (f 2))) + in + Suspension.coh (Some n) (check_coh tree ty ("_builtin_unitor", 0, [])) + + let intch n i = + assert (n >= 2); + let ps = + Br [ Br []; Suspension.ps (Some (n - 2)) (Br [ Br []; Br [] ]); Br [] ] + in + let tdb i = Var (Var.Db i) in + let d_L = (tdb 2, Arr (Obj, tdb 0, tdb 1)) in + let d_R = (tdb ((2 * n) + 6), Arr (Obj, tdb 3, tdb ((2 * n) + 5))) in + let d_max i = + let rec ty k = + if k = 1 then Arr (Obj, tdb 1, tdb 3) + else Arr (ty (k - 1), tdb (2 * k), tdb ((2 * k) + 1)) + in + let d i = + let lvl = if i = 0 then 2 * n else (2 * n) + (2 * i) - 1 in + (tdb lvl, ty (n - 1)) + in + (tdb ((2 * n) + (2 * i)), Construct.arr (d (i - 1)) (d i)) + in + let ty = + Construct.( + arr + (comp + (wcomp_n 0 [ d_L; d_max 1; d_R ]) + (wcomp_n 0 [ d_L; d_max 2; d_R ])) + (wcomp_n 0 [ d_L; comp_n [ d_max 1; d_max 2 ]; d_R ])) + in + Suspension.coh (Some i) + (check_coh ps ty ("_builtin_intch_chi" ^ string_of_int n, 0, [])) + + let rec psfpad_aux i = + let m = UP.F.min in + let n = UP.F.max in + let v_c = v_constr in + let w_c = w_constr in + let w_sub = [ w_constr; x_constr ] in + let witness_constr = + match i with + | i when i = m -> Construct.id_n 1 (Construct.wcomp v_c (n - 1) w_c) + | i when m < i -> ( + let p, q = (UP.D.p (i - 1), UP.D.q (i - 1)) in + let p, q = (Tm.constr p, Tm.constr q) in + let t = UP.padded_func (i - 1) (n - i + 1) in + let tv = Tm.constr t in + let tw = Construct.tm_app t w_sub in + match i with + | i when i < n -> + let intch = + Construct.coh_app (intch (n - i + 1) (i - 1)) [ p; tv; tw; q ] + in + Construct.wcomp intch n + (Construct.wcomp_n (i - 1) + [ p; Tm.constr (psfpad_aux (i - 1)); q ]) + | i when i = n -> + let assoc = + Construct.coh_app (assoc (n - 1)) [ p; tv; q; p; tw; q ] + in + let w = Construct.witness q in + let unitor = Construct.coh_app (unitor (n - 1)) [ tv; tw ] in + Construct.comp_n + [ + assoc; + Construct.wcomp_n (n - 1) + [ p; Construct.wcomp_n (n - 1) [ tv; w; tw ]; q ]; + Construct.wcomp_n (n - 1) [ p; unitor; q ]; + Construct.wcomp_n (n - 1) + [ p; Tm.constr (psfpad_aux (n - 1)); q ]; + ] + | _ -> + Error.fatal + "[EH] Wrong arguments in pseudofunctoriality of padding") + | _ -> + Error.fatal "[EH] Wrong arguments in pseudofunctoriality of padding" + in + check_constr ctx witness_constr + + let psfpad = psfpad_aux Args.n +end + +module EHCtx (EHArgs : EHArgsS) = struct + let x = Var.Db 0 + let a = Var.Db 1 + let b = Var.Db 2 + let id = Construct.id_n (EHArgs.n - 1) (Var x, Obj) + let ty = Construct.arr id id + let ctx = [ (b, (ty, true)); (a, (ty, true)); (x, (Obj, false)) ] + let x_constr = (Var x, Obj) + let a_constr = (Var a, ty) + let b_constr = (Var b, ty) + + let a_comp_id = + if EHArgs.l = EHArgs.n - 1 then a_constr + else Construct.wcomp a_constr EHArgs.l (Construct.id_n 1 id) + + let id_comp_b = + if EHArgs.l = EHArgs.n - 1 then b_constr + else Construct.wcomp (Construct.id_n 1 id) EHArgs.l b_constr + + module UP = UnbiasedPadding (EHArgs) + + let a_comp_id_sub = [ a_comp_id; x_constr ] + let id_comp_b_sub = [ id_comp_b; x_constr ] +end + +module BaseCases (EHArgs : EHArgsS) = struct + let intch n = + let ps = Br [ Unchecked.disc (n - 1); Unchecked.disc (n - 1) ] in + let rec disc_type_r = function + | 0 -> Obj + | 1 -> Arr (Obj, Var (Var.Db 1), Var (Var.Db ((2 * n) + 1))) + | k -> + Arr + ( disc_type_r (k - 1), + Var (Var.Db ((2 * n) + (2 * k) - 2)), + Var (Var.Db ((2 * n) + (2 * k) - 1)) ) + in + let d_l = (Var (Var.Db (2 * n)), Unchecked.disc_type n) in + let d_r = (Var (Var.Db (4 * n)), disc_type_r n) in + let ty = + Construct.arr + (Construct.wcomp + (Construct.wcomp d_l 0 (Construct.id_n 1 (Construct.src 1 d_r))) + (n - 1) + (Construct.wcomp (Construct.id_n 1 (Construct.tgt 1 d_l)) 0 d_r)) + (Construct.wcomp d_l 0 d_r) + in + let name = (Printf.sprintf "intch(%d,%d)" n 0, 0, []) in + check_coh ps ty name + + module GT (Args : BiasedPaddingArgsS) = struct + module BP = BackwardBiasedPadding (Args) + module BToU = BackwardToUnbiasedRepadding (Args) + module PSU = PseudoFunctorialityUnbiasedPadding (EHArgs) + + let eh = + let open EHCtx (EHArgs) in + let step1 = + let p = BP.p in + let a_padded = + Construct.( + tm_app_sub p + (Unchecked.sub_ps_to_sub (characteristic_sub_ps a_constr))) + in + let b_padded = + Construct.( + tm_app_sub + (Opposite.checked_tm p [ 1 ]) + (Unchecked.sub_ps_to_sub (characteristic_sub_ps b_constr))) + in + (* TODO: there should be a fix here so that there is no need for the develop *) + Construct.(develop (wcomp a_padded (Args.n - 1) b_padded)) + in + let step2 = + let r = BToU.repadded in + let r_op = Opposite.checked_tm r [ 1 ] in + let repad_a = Construct.tm_app r a_comp_id_sub in + let repad_b = Construct.tm_app r_op id_comp_b_sub in + Construct.wcomp repad_a (Args.n - 1) repad_b + in + let step3 = + Construct.tm_app PSU.psfpad [ id_comp_b; a_comp_id; x_constr ] + in + let step4 = + let intch = Construct.coh_app (intch Args.n) [ a_constr; b_constr ] in + Construct.tm_app + (Functorialisation.tm UP.padded [ (UP.v, 1) ]) + [ intch; Construct.tgt 1 intch; Construct.src 1 intch; x_constr ] + in + Construct.comp_n [ step1; step2; step3; step4 ] + end + + module LT (Args : BiasedPaddingArgsS) = struct + module FP = ForwardBiasedPadding (Args) + module FToU = ForwardToUnbiasedRepadding (Args) + module PSU = PseudoFunctorialityUnbiasedPadding (EHArgs) + + let eh = + let open EHCtx (EHArgs) in + let a_sub = + Unchecked.sub_ps_to_sub (Construct.characteristic_sub_ps a_constr) + in + let b_sub = + Unchecked.sub_ps_to_sub (Construct.characteristic_sub_ps b_constr) + in + let step1 = + Construct.inverse + (Construct.coh_app (intch Args.n) [ a_constr; b_constr ]) + in + let step2 = + let p = FP.p in + let a_padded = Construct.tm_app_sub p a_sub in + let b_padded = + Construct.(tm_app_sub (Opposite.checked_tm p [ 1 ]) b_sub) + in + Construct.(develop (wcomp a_padded (Args.n - 1) b_padded)) + in + let step3 = + let r = FToU.repadded in + let r_op = Opposite.checked_tm r [ 1 ] in + let repad_a = Construct.tm_app r [ a_constr; x_constr ] in + let repad_b = Construct.tm_app r_op [ b_constr; x_constr ] in + Construct.wcomp repad_a (Args.n - 1) repad_b + in + let step4 = + Construct.tm_app PSU.psfpad [ b_constr; a_constr; x_constr ] + in + Construct.comp_n [ step1; step2; step3; step4 ] + end +end + +let suspend eh_prev curargs = + let module EHArgs = (val curargs : EHArgsS) in + let open EHCtx (EHArgs) in + let module R = SuspUnbiasedToUnbiasedRepadding (EHArgs) in + let suspended_eh = Suspension.checked_tm (Some 1) eh_prev in + Construct.comp_n + [ + Construct.tm_app suspended_eh + [ b_constr; a_constr; Construct.id x_constr; x_constr; x_constr ]; + Construct.tm_app R.repadded + [ Construct.wcomp a_constr EHArgs.l b_constr; x_constr ]; + ] + +module Naturality = struct + let nat_unitor constr = + let x_constr = (Var (Var.Db 0), Obj) in + let y_constr = (Var (Var.Db 1), Obj) in + let f_constr = (Var (Var.Db 2), Construct.arr x_constr y_constr) in + let cohty = + Construct.arr f_constr + (Construct.comp_n [ f_constr; Construct.id_n 1 y_constr ]) + in + let runit = check_coh (Unchecked.disc 1) cohty ("_ehnat_step1", 0, []) in + let d = Construct.dim constr in + let sub = Construct.characteristic_sub_ps constr in + ( Coh (Suspension.coh (Some (d - 1)) runit, sub), + Unchecked.ty_apply_sub_ps (Suspension.ty (Some (d - 1)) cohty) sub ) + + let nat_factor eh_id_id ehargs = + let module EHArgs = (val ehargs : EHArgsS) in + let open EHCtx (EHArgs) in + let idn = Construct.id id in + let ty = + Construct.arr + (Construct.id (Construct.wcomp idn EHArgs.k idn)) + (Construct.comp_n [ eh_id_id; Tm.constr UP.q ]) + in + + let name = + (Printf.sprintf "_factor_id(%d,%d,%d)" EHArgs.n EHArgs.k EHArgs.l, 0, []) + in + let coh = check_coh (Unchecked.disc 0) ty name in + Construct.of_coh coh + + let nat_associator1 c1 c2 c3 = + let open Builtin.Comp in + let ty = + Construct.arr + (Construct.comp_n [ f 1; Construct.comp_n [ f 2; f 3 ] ]) + (Construct.comp_n [ Construct.comp_n [ f 1; f 2 ]; f 3 ]) + in + let coh = check_coh (tree 3) ty ("_assoc_left", 0, []) in + let d = Construct.dim c1 in + Construct.coh_app (Suspension.coh (Some (d - 1)) coh) [ c1; c2; c3 ] + + let nat_associator2 c1 c2 c3 = + let open Builtin.Comp in + let ty = + Construct.arr + (Construct.comp_n [ Construct.comp_n [ f 1; f 2 ]; f 3 ]) + (Construct.comp_n [ f 1; f 2; f 3 ]) + in + let coh = check_coh (tree 3) ty ("_unbiasor_left", 0, []) in + let d = Construct.dim c1 in + Construct.coh_app (Suspension.coh (Some (d - 1)) coh) [ c1; c2; c3 ] + + let nat_finalcoh eh_id_id ehargs = + let module EHArgs = (val ehargs : EHArgsS) in + let open EHCtx (EHArgs) in + let module UP = UnbiasedPadding (EHArgs) in + let p = Tm.constr UP.p in + let ty = Construct.arr eh_id_id p in + let name = + (Printf.sprintf "_eh_to_p(%d,%d,%d)" EHArgs.n EHArgs.k EHArgs.l, 0, []) + in + let coh = check_coh (Unchecked.disc 0) ty name in + Construct.of_coh coh + + let compute eh_prev prev_args args = + let module PrevArgs = (val prev_args : EHArgsS) in + let open PrevArgs in + let module NextArgs = (val args : EHArgsS) in + let open EHCtx (NextArgs) in + let module Prev = EHCtx (PrevArgs) in + let module UP = UnbiasedPadding (PrevArgs) in + let q = Tm.constr UP.q in + let a_k_b = Construct.wcomp a_constr k b_constr in + let nat = + Construct.inverse + (Construct.tm_app + (Functorialisation.tm eh_prev [ (Prev.b, 1); (Prev.a, 1) ]) + [ b_constr; id; id; a_constr; id; id; x_constr ]) + in + let paddedfunc = + Construct.tm_app + (Functorialisation.tm UP.padded [ (UP.v, 1) ]) + [ + Construct.wcomp a_constr l b_constr; + UP.F.tgt_v (n + 1); + UP.F.src_v (n + 1); + x_constr; + ] + in + let eh_id_id = Construct.tm_app eh_prev [ id; id; x_constr ] in + Construct.comp_n + [ + nat_unitor a_k_b; + Construct.wcomp a_k_b n (nat_factor eh_id_id prev_args); + nat_associator1 a_k_b eh_id_id q; + Construct.wcomp nat n q; + nat_associator2 eh_id_id paddedfunc q; + Construct.wcomp3 (nat_finalcoh eh_id_id prev_args) n paddedfunc n q; + ] +end + +let rec eh nkl = + let module EHArgs = (val nkl : EHArgsS) in + let open EHArgs in + let module BArgs = (val args_biased n) in + let eh_constr = + if k = 0 && l = n - 1 then + let module BaseCases = BaseCases (EHArgs) in + let module BaseCase = BaseCases.LT (BArgs) in + BaseCase.eh + else if k = n - 1 && l = 0 then + let module BaseCases = BaseCases (EHArgs) in + let module BaseCase = BaseCases.GT (BArgs) in + BaseCase.eh + else if max k l = n - 1 then + let prevargs = args (n - 1) (k - 1) (l - 1) in + suspend (eh prevargs) nkl + else + let prevargs = args (n - 1) k l in + Naturality.compute (eh prevargs) prevargs nkl + in + let module C = EHCtx (EHArgs) in + check_constr C.ctx + ~name:(Printf.sprintf "eh^%d_(%d,%d)" n k l, 0, []) + eh_constr + +let full_eh nkl = + let eh = eh nkl in + let open (val nkl) in + let open EHCtx ((val nkl)) in + let constr = + Construct.comp_n + [ + Construct.of_tm eh; + Construct.tm_app + (Inverse.inverse (Opposite.checked_tm eh [ l + 1 ])) + [ a_constr; b_constr; x_constr ]; + ] + in + check_constr ctx constr + +let eh n k l = eh (args n k l) +let full_eh n k l = full_eh (args n k l) diff --git a/lib/eh.mli b/lib/eh.mli new file mode 100644 index 00000000..44aab184 --- /dev/null +++ b/lib/eh.mli @@ -0,0 +1,4 @@ +open Kernel + +val eh : int -> int -> int -> Tm.t +val full_eh : int -> int -> int -> Tm.t diff --git a/lib/elaborate.ml b/lib/elaborate.ml index 5dcb0f5e..c464be0f 100644 --- a/lib/elaborate.ml +++ b/lib/elaborate.ml @@ -16,14 +16,14 @@ module Constraints = struct let print_ty = Queue.fold c.ty ~init:"" ~f:(fun s (ty1, ty2) -> Printf.sprintf "%s (%s = %s)" s - (Unchecked.ty_to_string ty1) - (Unchecked.ty_to_string ty2)) + (Printing.ty_to_string ty1) + (Printing.ty_to_string ty2)) in let print_tm = Queue.fold c.tm ~init:"" ~f:(fun s (tm1, tm2) -> Printf.sprintf "%s (%s = %s)" s - (Unchecked.tm_to_string tm1) - (Unchecked.tm_to_string tm2)) + (Printing.tm_to_string tm1) + (Printing.tm_to_string tm2)) in Printf.sprintf "[%s] [%s]" print_ty print_tm @@ -37,7 +37,7 @@ module Constraints = struct | Meta_ty _, _ | _, Meta_ty _ -> Queue.enqueue cst.ty (ty1, ty2) | Arr (_, _, _), Obj | Obj, Arr (_, _, _) -> raise - (NotUnifiable (Unchecked.ty_to_string ty1, Unchecked.ty_to_string ty2)) + (NotUnifiable (Printing.ty_to_string ty1, Printing.ty_to_string ty2)) and unify_tm cst tm1 tm2 = match (tm1, tm2) with @@ -56,7 +56,7 @@ module Constraints = struct unify_tm cst (Unchecked.tm_apply_sub (Tm.develop t) s) tm2 | Var _, Coh _ | Coh _, Var _ | Var _, Var _ -> raise - (NotUnifiable (Unchecked.tm_to_string tm1, Unchecked.tm_to_string tm2)) + (NotUnifiable (Printing.tm_to_string tm1, Printing.tm_to_string tm2)) and unify_sub cst s1 s2 = match (s1, s2) with @@ -66,7 +66,7 @@ module Constraints = struct unify_sub cst s1 s2 | [], _ :: _ | _ :: _, [] -> raise - (NotUnifiable (Unchecked.sub_to_string s1, Unchecked.sub_to_string s2)) + (NotUnifiable (Printing.sub_to_string s1, Printing.sub_to_string s2)) and unify_sub_ps cst s1 s2 = match (s1, s2) with @@ -77,7 +77,7 @@ module Constraints = struct | [], _ :: _ | _ :: _, [] -> raise (NotUnifiable - (Unchecked.sub_ps_to_string s1, Unchecked.sub_ps_to_string s2)) + (Printing.sub_ps_to_string s1, Printing.sub_ps_to_string s2)) type mgu = { uty : (int * ty) list; utm : (int * tm) list } @@ -190,9 +190,9 @@ module Constraints_typing = struct Io.info ~v:5 (lazy (Printf.sprintf "constraint typing term %s in ctx %s, meta_ctx %s" - (Unchecked.tm_to_string t) - (Unchecked.ctx_to_string ctx) - (Unchecked.meta_ctx_to_string meta_ctx))); + (Printing.tm_to_string t) + (Printing.ctx_to_string ctx) + (Printing.meta_ctx_to_string meta_ctx))); match t with | Var v -> ( try (t, fst (List.assoc v ctx)) @@ -219,10 +219,10 @@ module Constraints_typing = struct (lazy (Printf.sprintf "constraint typing substitution %s in ctx %s, target %s, meta_ctx %s" - (Unchecked.sub_to_string_debug s) - (Unchecked.ctx_to_string src) - (Unchecked.ctx_to_string tgt) - (Unchecked.meta_ctx_to_string meta_ctx))); + (Printing.sub_to_string_debug s) + (Printing.ctx_to_string src) + (Printing.ctx_to_string tgt) + (Printing.meta_ctx_to_string meta_ctx))); match (s, tgt) with | [], [] -> [] | (x, (u, e)) :: s, (_, (t, _)) :: c -> @@ -236,9 +236,9 @@ module Constraints_typing = struct Io.info ~v:5 (lazy (Printf.sprintf "constraint typing type %s in ctx %s, meta_ctx %s" - (Unchecked.ty_to_string t) - (Unchecked.ctx_to_string ctx) - (Unchecked.meta_ctx_to_string meta_ctx))); + (Printing.ty_to_string t) + (Printing.ctx_to_string ctx) + (Printing.meta_ctx_to_string meta_ctx))); match t with | Obj -> Obj | Arr (a, u, v) -> @@ -293,7 +293,7 @@ let solve_cst ~elab_fn ~print_fn ~kind x = let ctx c = let c, meta_ctx = Translate_raw.ctx c in let elab_fn c = fst (Constraints_typing.ctx c meta_ctx) in - solve_cst ~elab_fn ~print_fn:Unchecked.ctx_to_string ~kind:"context" c + solve_cst ~elab_fn ~print_fn:Printing.ctx_to_string ~kind:"context" c let elab_ty ctx meta_ctx ty = let cst = Constraints.create () in @@ -320,7 +320,7 @@ let ty c ty = let c = ctx c in let ty, meta_ctx = Translate_raw.ty ty in let elab_fn ty = elab_ty c meta_ctx ty in - let print_fn = Unchecked.ty_to_string in + let print_fn = Printing.ty_to_string in (c, solve_cst ~elab_fn ~print_fn ~kind:"type" ty) with Error.UnknownId s -> raise (Error.unknown_id s) @@ -331,7 +331,7 @@ let tm c tm = let c = ctx c in let tm, meta_ctx = Translate_raw.tm tm in let elab_fn tm = elab_tm c meta_ctx tm in - let print_fn = Unchecked.tm_to_string in + let print_fn = Printing.tm_to_string in (c, solve_cst ~elab_fn ~print_fn ~kind:"term" tm) with Error.UnknownId s -> raise (Error.unknown_id s) @@ -343,13 +343,13 @@ let ty_in_ps ps t = let t, meta_ctx = Translate_raw.ty t in let t = let elab_fn ty = elab_ty ps meta_ctx ty in - solve_cst ~elab_fn ~print_fn:Unchecked.ty_to_string ~kind:"type" t + solve_cst ~elab_fn ~print_fn:Printing.ty_to_string ~kind:"type" t in try let _, names, _ = Unchecked.db_levels ps in ( Kernel.PS.(forget (mk (Kernel.Ctx.check ps))), Unchecked.rename_ty t names ) with - | Kernel.PS.Invalid -> raise (Error.invalid_ps (Unchecked.ctx_to_string ps)) - | DoubledVar x -> raise (Error.doubled_var (Unchecked.ctx_to_string ps) x) + | Kernel.PS.Invalid -> raise (Error.invalid_ps (Printing.ctx_to_string ps)) + | DoubledVar x -> raise (Error.doubled_var (Printing.ctx_to_string ps) x) with Error.UnknownId s -> raise (Error.unknown_id s) diff --git a/lib/environment.ml b/lib/environment.ml index 6a7d8665..2f94ba27 100644 --- a/lib/environment.ml +++ b/lib/environment.ml @@ -12,6 +12,8 @@ let builtin_to_value b = | Conecomp (n, k, m) -> Tm (Cones.compose n m k) | Cylcomp (n, k, m) -> Tm (Cylinders.compose n m k) | Cylstack n -> Tm (Cylinders.stacking n) + | Eh_half (n, k, l) -> Tm (Eh.eh n k l) + | Eh_full (n, k, l) -> Tm (Eh.full_eh n k l) let value_ty v = match v with @@ -47,11 +49,10 @@ let add_let v c ?ty t = Io.info ~v:4 (lazy (Printf.sprintf "term %s of type %s added to environment" - (Unchecked.tm_to_string t) - (Unchecked.ty_to_string ty))); + (Printing.tm_to_string t) (Printing.ty_to_string ty))); Hashtbl.add env v { value = Tm tm; dim_input; dim_output }; (t, ty) - with DoubledVar x -> Error.doubled_var (Unchecked.ctx_to_string c) x + with DoubledVar x -> Error.doubled_var (Printing.ctx_to_string c) x let add_coh v ps ty = let coh = check_coh ps ty (Var.to_string v, 0, []) in @@ -74,8 +75,7 @@ let add_value v value = Io.info ~v:4 (lazy (Printf.sprintf "term %s of type %s added to environment" - (value_to_string value) - (Unchecked.ty_to_string ty))); + (value_to_string value) (Printing.ty_to_string ty))); Hashtbl.add env v { value; dim_input; dim_output }; (value, ty) diff --git a/lib/equality.ml b/lib/equality.ml new file mode 100644 index 00000000..69fd097b --- /dev/null +++ b/lib/equality.ml @@ -0,0 +1,133 @@ +open Std +open Common +open Unchecked_types + +module Equality (CohT : sig + type t +end) (TmT : sig + type t +end) = +struct + open Unchecked_types (CohT) (TmT) + + module Make (Coh : sig + val forget : CohT.t -> ps * Unchecked_types(CohT)(TmT).ty * pp_data + val to_string : ?unroll:bool -> CohT.t -> string + val func_data : CohT.t -> (Var.t * int) list list + val is_equal : CohT.t -> CohT.t -> bool + val check : ps -> ty -> pp_data -> CohT.t + end) (Tm : sig + val func_data : TmT.t -> (Var.t * int) list list option + val develop : TmT.t -> Unchecked_types(CohT)(TmT).tm + val name : TmT.t -> string option + val full_name : TmT.t -> string option + val ctx : TmT.t -> ctx + val is_equal : TmT.t -> TmT.t -> bool + + val apply : + (Unchecked_types(CohT)(TmT).ctx -> Unchecked_types(CohT)(TmT).ctx) -> + (Unchecked_types(CohT)(TmT).tm -> Unchecked_types(CohT)(TmT).tm) -> + (pp_data -> pp_data) -> + TmT.t -> + TmT.t * Unchecked_types(CohT)(TmT).sub + end) = + struct + module U = Unchecked.Unchecked (CohT) (TmT) + module Unchecked = U.Make (Coh) (Tm) + module P = Printing.Printing (CohT) (TmT) (Unchecked) + module Printing = P.Make (Coh) (Tm) + + let rec is_equal_ps ps1 ps2 = + match (ps1, ps2) with + | Br [], Br [] -> true + | Br (ps1 :: l1), Br (ps2 :: l2) -> ( + is_equal_ps ps1 ps2 + && + try List.for_all2 is_equal_ps l1 l2 with Invalid_argument _ -> true) + | Br [], Br (_ :: _) | Br (_ :: _), Br [] -> false + + let rec is_equal_ty ty1 ty2 = + match (ty1, ty2) with + | Meta_ty i, Meta_ty j -> i = j + | Obj, Obj -> true + | Arr (ty1, u1, v1), Arr (ty2, u2, v2) -> + is_equal_ty ty1 ty2 && is_equal_tm u1 u2 && is_equal_tm v1 v2 + | Obj, Arr _ + | Arr _, Obj + | Meta_ty _, Obj + | Meta_ty _, Arr _ + | Obj, Meta_ty _ + | Arr _, Meta_ty _ -> + false + + and is_equal_tm tm1 tm2 = + match (tm1, tm2) with + | Var v1, Var v2 -> Var.is_equal v1 v2 + | Meta_tm i, Meta_tm j -> i = j + | Coh (coh1, s1), Coh (coh2, s2) -> + Coh.is_equal coh1 coh2 && is_equal_sub_ps s1 s2 + | App (t1, s1), App (t2, s2) when t1 == t2 -> + is_equal_sub_on_support t1 s1 s2 + | App (t, s), ((Coh _ | App _ | Var _) as tm2) + | ((Coh _ | Var _) as tm2), App (t, s) -> + let c = Tm.develop t in + is_equal_tm (Unchecked.tm_apply_sub c s) tm2 + | Var _, Coh _ + | Coh _, Var _ + | Meta_tm _, Var _ + | Meta_tm _, Coh _ + | Var _, Meta_tm _ + | Coh _, Meta_tm _ + | App _, Meta_tm _ + | Meta_tm _, App _ -> + false + + and is_equal_sub_ps s1 s2 = + List.for_all2 (fun (t1, _) (t2, _) -> is_equal_tm t1 t2) s1 s2 + + and is_equal_sub_on_support t s1 s2 = + List.for_all2 + (fun (x, (t1, _)) (y, (t2, _)) -> + Var.is_equal x y + && ((not (Unchecked.tm_contains_var (Tm.develop t) x)) + || is_equal_tm t1 t2)) + s1 s2 + + let rec is_equal_ctx ctx1 ctx2 = + match (ctx1, ctx2) with + | [], [] -> true + | (v1, (t1, _)) :: c1, (v2, (t2, _)) :: c2 -> + Var.is_equal v1 v2 && is_equal_ty t1 t2 && is_equal_ctx c1 c2 + | _ :: _, [] | [], _ :: _ -> false + + let is_equal_ps ps1 ps2 = ps1 == ps2 || is_equal_ps ps1 ps2 + let is_equal_ty ty1 ty2 = ty1 == ty2 || is_equal_ty ty1 ty2 + let is_equal_tm tm1 tm2 = tm1 == tm2 || is_equal_tm tm1 tm2 + let is_equal_sub_ps s1 s2 = s1 == s2 || is_equal_sub_ps s1 s2 + let is_equal_ctx ctx1 ctx2 = ctx1 == ctx2 || is_equal_ctx ctx1 ctx2 + + let check_equal_ty ty1 ty2 = + if not (is_equal_ty ty1 ty2) then + raise (NotEqual (Printing.ty_to_string ty1, Printing.ty_to_string ty2)) + + let check_equal_tm tm1 tm2 = + if not (is_equal_tm tm1 tm2) then + raise (NotEqual (Printing.tm_to_string tm1, Printing.tm_to_string tm2)) + + let check_equal_sub_ps s1 s2 = + if not (is_equal_sub_ps s1 s2) then () + else + raise + (NotEqual (Printing.sub_ps_to_string s1, Printing.sub_ps_to_string s2)) + + let check_equal_ctx ctx1 ctx2 = + if ctx1 == ctx2 || is_equal_ctx ctx1 ctx2 then () + else + raise + (NotEqual (Printing.ctx_to_string ctx1, Printing.ctx_to_string ctx2)) + + let check_equal_ps ps1 ps2 = + if not (is_equal_ps ps1 ps2) then + raise (NotEqual (Printing.ps_to_string ps1, Printing.ps_to_string ps2)) + end +end diff --git a/lib/equality.mli b/lib/equality.mli new file mode 100644 index 00000000..922ac293 --- /dev/null +++ b/lib/equality.mli @@ -0,0 +1,42 @@ +open Common +open Unchecked_types + +module Equality (Coh : sig + type t +end) (Tm : sig + type t +end) : sig + open Unchecked_types(Coh)(Tm) + + module Make (_ : sig + val forget : Coh.t -> ps * Unchecked_types(Coh)(Tm).ty * pp_data + val to_string : ?unroll:bool -> Coh.t -> string + val func_data : Coh.t -> (Var.t * int) list list + val is_equal : Coh.t -> Coh.t -> bool + val check : ps -> ty -> pp_data -> Coh.t + end) (_ : sig + val func_data : Tm.t -> (Var.t * int) list list option + val develop : Tm.t -> Unchecked_types(Coh)(Tm).tm + val name : Tm.t -> string option + val full_name : Tm.t -> string option + val ctx : Tm.t -> ctx + val is_equal : Tm.t -> Tm.t -> bool + + val apply : + (Unchecked_types(Coh)(Tm).ctx -> Unchecked_types(Coh)(Tm).ctx) -> + (Unchecked_types(Coh)(Tm).tm -> Unchecked_types(Coh)(Tm).tm) -> + (pp_data -> pp_data) -> + Tm.t -> + Tm.t * Unchecked_types(Coh)(Tm).sub + end) : sig + val check_equal_ctx : ctx -> ctx -> unit + val check_equal_ps : ps -> ps -> unit + val check_equal_ty : ty -> ty -> unit + val check_equal_tm : tm -> tm -> unit + val check_equal_sub_ps : sub_ps -> sub_ps -> unit + val is_equal_ctx : ctx -> ctx -> bool + val is_equal_ps : ps -> ps -> bool + val is_equal_ty : ty -> ty -> bool + val is_equal_tm : tm -> tm -> bool + end +end diff --git a/lib/inverse.ml b/lib/inverse.ml index ed5f223d..057778cf 100644 --- a/lib/inverse.ml +++ b/lib/inverse.ml @@ -49,7 +49,7 @@ let compute_inverse t = try compute_inverse t with NotInvertible s -> Error.inversion - ("term: " ^ Unchecked.tm_to_string t) + ("term: " ^ Printing.tm_to_string t) (Printf.sprintf "term %s is not invertible" s) let group_vertically ps t src_t tgt_t = @@ -238,11 +238,11 @@ let compute_witness t = try let r = compute_witness t in Io.info ~v:3 - (lazy (Printf.sprintf "inverse term: %s" (Unchecked.tm_to_string r))); + (lazy (Printf.sprintf "inverse term: %s" (Printing.tm_to_string r))); r with NotInvertible s -> Error.inversion - ("term: " ^ Unchecked.tm_to_string t) + ("term: " ^ Printing.tm_to_string t) (Printf.sprintf "term %s is not invertible" s) let inverse t = diff --git a/lib/kernel.ml b/lib/kernel.ml index 9f4a0639..12bbaa06 100644 --- a/lib/kernel.ml +++ b/lib/kernel.ml @@ -2,6 +2,8 @@ open Std open Common open Unchecked_types open Unchecked +open Printing +open Equality exception IsObj exception IsCoh @@ -32,6 +34,8 @@ end = struct open Unchecked (Coh) (Tm) module Unchecked = Make (Coh) (Tm) module Types = Unchecked_types (Coh) (Tm) + open Printing (Coh) (Tm) (Unchecked) + module Printing = Make (Coh) (Tm) let tbl : (Ctx.t * PS.t * Types.sub_ps, Sub.t) Hashtbl.t = Hashtbl.create 7829 let free_vars s = List.concat (List.map Tm.free_vars s.list) @@ -42,11 +46,9 @@ end = struct (Printf.sprintf "building kernel substitution : source = %s; substitution = %s; \ target = %s" - (Ctx.to_string src) - (Unchecked.sub_to_string s) - (Ctx.to_string tgt))); + (Ctx.to_string src) (Printing.sub_to_string s) (Ctx.to_string tgt))); let sub_exn = - InvalidSubTarget (Unchecked.sub_to_string_debug s, Ctx.to_string tgt) + InvalidSubTarget (Printing.sub_to_string_debug s, Ctx.to_string tgt) in let rec aux src s tgt = let expr s tgt = @@ -95,13 +97,18 @@ and Ctx : sig val forget : t -> Unchecked_types(Coh)(Tm).ctx val check : Unchecked_types(Coh)(Tm).ctx -> t val check_notin : t -> Var.t -> unit + val is_equal : t -> t -> bool val check_equal : t -> t -> unit end = struct type t = { c : (Var.t * Ty.t) list; unchecked : Unchecked_types(Coh)(Tm).ctx } open Unchecked_types (Coh) (Tm) - open Unchecked (Coh) (Tm) - module Unchecked = Make (Coh) (Tm) + module U = Unchecked (Coh) (Tm) + module Unchecked = U.Make (Coh) (Tm) + module P = Printing (Coh) (Tm) (Unchecked) + module Printing = P.Make (Coh) (Tm) + module E = Equality (Coh) (Tm) + module Equality = E.Make (Coh) (Tm) let tbl : (ctx, Ctx.t) Hashtbl.t = Hashtbl.create 7829 @@ -119,11 +126,17 @@ end = struct let domain ctx = List.map fst ctx.c let value ctx = ctx.c let forget c = c.unchecked - let to_string ctx = Unchecked.ctx_to_string (forget ctx) + let to_string ctx = Printing.ctx_to_string (forget ctx) + + let is_equal ctx1 ctx2 = + ctx1 == ctx2 || Equality.is_equal_ctx (forget ctx1) (forget ctx2) let check_equal ctx1 ctx2 = - if ctx1 == ctx2 then () - else Unchecked.check_equal_ctx (forget ctx1) (forget ctx2) + if not (is_equal ctx1 ctx2) then + raise + (NotEqual + ( Printing.ctx_to_string (forget ctx1), + Printing.ctx_to_string (forget ctx2) )) let check_notin ctx x = try @@ -165,12 +178,16 @@ and PS : sig val source : t -> Sub.t val target : t -> Sub.t val forget : t -> ps - val check_equal : t -> t -> unit + val is_equal : t -> t -> bool end = struct exception Invalid - open Unchecked (Coh) (Tm) - module Unchecked = Make (Coh) (Tm) + module U = Unchecked (Coh) (Tm) + module Unchecked = U.Make (Coh) (Tm) + module P = Printing (Coh) (Tm) (Unchecked) + module Printing = P.Make (Coh) (Tm) + module E = Equality (Coh) (Tm) + module Equality = E.Make (Coh) (Tm) (** A pasting scheme. *) type ps_derivation = @@ -287,7 +304,7 @@ end = struct ps let forget ps = ps.tree - let to_string ps = Unchecked.ps_to_string (forget ps) + let to_string ps = Printing.ps_to_string (forget ps) (** Create a context from a pasting scheme. *) let to_ctx ps = ps.ctx @@ -300,9 +317,8 @@ end = struct let target ps = Sub.check_to_ps (to_ctx ps) (Unchecked.ps_tgt ps.tree) (bdry ps) - let check_equal ps1 ps2 = - if ps1.tree == ps2.tree then () - else Unchecked.check_equal_ps ps1.tree ps2.tree + let is_equal ps1 ps2 = + ps1.tree == ps2.tree || Equality.is_equal_ps ps1.tree ps2.tree end and Ty : sig @@ -312,6 +328,7 @@ and Ty : sig val free_vars : t -> Var.t list val is_full : t -> bool val is_obj : t -> bool + val is_equal : t -> t -> bool val check_equal : t -> t -> unit val morphism : Tm.t -> Tm.t -> Ty.t val forget : t -> Unchecked_types(Coh)(Tm).ty @@ -324,9 +341,13 @@ and Ty : sig val ctx : t -> Ctx.t val dim : t -> int end = struct - open Unchecked (Coh) (Tm) - module Unchecked = Make (Coh) (Tm) module Types = Unchecked_types (Coh) (Tm) + module U = Unchecked (Coh) (Tm) + module Unchecked = U.Make (Coh) (Tm) + module P = Printing (Coh) (Tm) (Unchecked) + module Printing = P.Make (Coh) (Tm) + module E = Equality (Coh) (Tm) + module Equality = E.Make (Coh) (Tm) (** A type exepression. *) type expr = Obj | Arr of t * Tm.t * Tm.t @@ -347,7 +368,7 @@ end = struct Io.info ~v:5 (lazy (Printf.sprintf "building kernel type %s in context %s" - (Unchecked.ty_to_string t) (Ctx.to_string c))); + (Printing.ty_to_string t) (Ctx.to_string c))); match Hashtbl.find_opt tbl (c, t) with | Some ty -> ty | None -> @@ -374,12 +395,17 @@ end = struct let is_full t = List.included (Ctx.domain t.c) (free_vars t) let forget t = t.unchecked - let to_string ty = Unchecked.ty_to_string (forget ty) + let to_string ty = Printing.ty_to_string (forget ty) + + let is_equal ty1 ty2 = + Ctx.is_equal ty1.c ty2.c && Equality.is_equal_ty (forget ty1) (forget ty2) - (** Test for equality. *) let check_equal ty1 ty2 = - Ctx.check_equal ty1.c ty2.c; - Unchecked.check_equal_ty (forget ty1) (forget ty2) + if not (is_equal ty1 ty2) then + raise + (NotEqual + ( Printing.ty_to_string (forget ty1), + Printing.ty_to_string (forget ty2) )) let morphism t1 t2 = let a1 = Tm.typ t1 in @@ -437,11 +463,17 @@ and Tm : sig (pp_data -> pp_data) -> t -> t * Unchecked_types(Coh)(Tm).sub + + val is_equal : t -> t -> bool end = struct - open Unchecked (Coh) (Tm) - module Unchecked = Make (Coh) (Tm) + module U = Unchecked (Coh) (Tm) + module Unchecked = U.Make (Coh) (Tm) module Types = Unchecked_types (Coh) (Tm) module Display_maps = Unchecked.Display_maps + module P = Printing (Coh) (Tm) (Unchecked) + module Printing = P.Make (Coh) (Tm) + module E = Equality (Coh) (Tm) + module Equality = E.Make (Coh) (Tm) type expr = Var of Var.t | Coh of Coh.t * Sub.t | App of Tm.t * Sub.t @@ -457,9 +489,6 @@ end = struct let ty t = Ty.forget t.ty let tbl : (Ctx.t * Types.tm, Tm.t) Hashtbl.t = Hashtbl.create 7829 - (* TODO: this is incorrect: an applied term can be a variable *) - let to_var tm = match tm.e with Var v -> v | Coh _ | App _ -> raise IsCoh - let free_vars tm = let fvty = Ty.free_vars tm.ty in match tm.e with @@ -474,7 +503,7 @@ end = struct Io.info ~v:5 (lazy (Printf.sprintf "building kernel term %s in context %s" - (Unchecked.tm_to_string t) (Ctx.to_string c))); + (Printing.tm_to_string t) (Ctx.to_string c))); let tm = match Hashtbl.find_opt tbl (c, t) with | Some tm -> tm @@ -519,6 +548,16 @@ end = struct tm.developped <- Some dev; dev + let to_var tm = + match tm.e with + | Var v -> v + | Coh _ -> raise IsCoh + | App _ -> ( + match develop tm with + | Var v -> v + | Coh _ -> raise IsCoh + | App _ | Meta_tm _ -> assert false) + let apply_sub t sub = Ctx.check_equal (Sub.tgt sub) (Ty.ctx t.ty); let c = Sub.src sub in @@ -532,6 +571,10 @@ end = struct let t = Unchecked.tm_sub_preimage (forget t) (Sub.forget sub) in check c t + let is_equal t1 t2 = + Ctx.is_equal (Ty.ctx t1.ty) (Ty.ctx t2.ty) + && Equality.is_equal_tm t1.unchecked t2.unchecked + let apply fun_ctx fun_tm fun_pp_data tm = let c = fun_ctx (Ctx.forget (Ty.ctx (typ tm))) in let db_sub = Unchecked.db_level_sub_inv c in @@ -548,15 +591,15 @@ end = struct let bdry t = (Ty.source (typ t), Ty.target (typ t)) let ctx t = Ctx.forget (Ty.ctx (typ t)) - let name t = Option.map Unchecked.pp_data_to_string t.name - let full_name t = Option.map Unchecked.full_name t.name + let name t = Option.map Printing.pp_data_to_string t.name + let full_name t = Option.map Printing.full_name t.name let func_data t = Option.map (fun (_, _, f) -> f) t.name let pp_data t = t.name let to_string t = match full_name t with | Some name -> name - | None -> Unchecked.tm_to_string (forget t) + | None -> Printing.tm_to_string (forget t) let of_coh coh = let ps, _, pp_data = Coh.forget coh in @@ -589,7 +632,7 @@ and Coh : sig pp_data -> t - val to_string : t -> string + val to_string : ?unroll:bool -> t -> string val is_inv : t -> bool val noninv_srctgt : @@ -600,6 +643,7 @@ and Coh : sig val forget : t -> ps * Unchecked_types(Coh)(Tm).ty * pp_data val func_data : t -> (Var.t * int) list list + val is_equal : t -> t -> bool val check_equal : t -> t -> unit val dim : t -> int @@ -636,6 +680,8 @@ end = struct open Unchecked (Coh) (Tm) module Unchecked = Make (Coh) (Tm) module Display_maps = Unchecked.Display_maps + open Printing (Coh) (Tm) (Unchecked) + module Printing = Make (Coh) (Tm) let ps = function Inv (data, _) -> data.ps | NonInv (data, _) -> data.ps @@ -670,8 +716,8 @@ end = struct Io.info ~v:5 (lazy (Printf.sprintf "checking coherence (%s,%s)" - (Unchecked.ps_to_string ps_unchkd) - (Unchecked.ty_to_string t_unchkd))); + (Printing.ps_to_string ps_unchkd) + (Printing.ty_to_string t_unchkd))); match Hashtbl.find_opt tbl (ps_unchkd, t_unchkd) with | Some coh -> coh | None -> ( @@ -686,8 +732,8 @@ end = struct | NotAlgebraic -> Error.not_valid_coherence name (Printf.sprintf "type %s not algebraic in pasting scheme %s" - (Unchecked.ty_to_string t_unchkd) - Unchecked.(ctx_to_string (ps_to_ctx ps_unchkd))) + (Printing.ty_to_string t_unchkd) + (Printing.ctx_to_string (Unchecked.ps_to_ctx ps_unchkd))) | DoubledVar s -> Error.not_valid_coherence name (Printf.sprintf "variable %s appears twice in the context" s)) @@ -736,9 +782,10 @@ end = struct | Inv (d, pp_data) -> (d.ps, d.ty, pp_data) | NonInv (d, pp_data) -> (d.ps, d.total_ty, pp_data) - let to_string c = + let to_string ?(unroll = false) c = let ps, ty, pp_data = data c in - if not !Settings.unroll_coherences then Unchecked.pp_data_to_string pp_data + if not (unroll || !Settings.unroll_coherences) then + Printing.pp_data_to_string pp_data else Printf.sprintf "Coh(%s,%s)" (PS.to_string ps) (Ty.to_string ty) let noninv_srctgt c = @@ -758,18 +805,19 @@ end = struct let ps, ty, pp_data = data c in (PS.forget ps, Ty.forget ty, pp_data) + let is_equal coh1 coh2 = + coh1 == coh2 + || + match (coh1, coh2) with + | Inv (d1, _), Inv (d2, _) -> + PS.is_equal d1.ps d2.ps && Ty.is_equal d1.ty d2.ty + | NonInv (d1, _), NonInv (d2, _) -> + PS.is_equal d1.ps d2.ps && Ty.is_equal d1.total_ty d2.total_ty + | Inv _, NonInv _ | NonInv _, Inv _ -> false + let check_equal coh1 coh2 = - if coh1 == coh2 then () - else - match (coh1, coh2) with - | Inv (d1, _), Inv (d2, _) -> - PS.check_equal d1.ps d2.ps; - Ty.check_equal d1.ty d2.ty - | NonInv (d1, _), NonInv (d2, _) -> - PS.check_equal d1.ps d2.ps; - Ty.check_equal d1.total_ty d2.total_ty - | Inv _, NonInv _ | NonInv _, Inv _ -> - raise (NotEqual (to_string coh1, to_string coh2)) + if not (is_equal coh1 coh2) then + raise (NotEqual (to_string coh1, to_string coh2)) let apply_ps fun_ps fun_ty fun_pp_data coh = let ps, ty, pp = forget coh in @@ -791,6 +839,10 @@ end module U = Unchecked (Coh) (Tm) module Unchecked = U.Make (Coh) (Tm) module Display_maps = Unchecked.Display_maps +module P = Printing (Coh) (Tm) (Unchecked) +module Printing = P.Make (Coh) (Tm) +module E = Equality (Coh) (Tm) +module Equality = E.Make (Coh) (Tm) let check check_fn name = let v = 2 in @@ -814,12 +866,12 @@ let check check_fn name = (if !Settings.verbosity >= v then fname else Lazy.force name) let check_type ctx a = - let ty = lazy ("type: " ^ Unchecked.ty_to_string a) in + let ty = lazy ("type: " ^ Printing.ty_to_string a) in check (fun () -> Ty.check ctx a) ty let check_term ctx ?ty ?name t = let ty = Option.map (check_type ctx) ty in - let tm = lazy ("term: " ^ Unchecked.tm_to_string t) in + let tm = lazy ("term: " ^ Printing.tm_to_string t) in check (fun () -> Tm.check ctx ?ty ?name t) tm let check_constr ?name ctx constr = @@ -829,7 +881,7 @@ let check_constr ?name ctx constr = check_term ctx ?ty ?name t let check_coh ps ty pp_data = - let c = lazy ("coherence: " ^ Unchecked.pp_data_to_string pp_data) in + let c = lazy ("coherence: " ^ Printing.pp_data_to_string pp_data) in check (fun () -> Coh.check ps ty pp_data) c let check_sub src s tgt = ignore @@ Sub.check (Ctx.check src) s (Ctx.check tgt) diff --git a/lib/kernel.mli b/lib/kernel.mli index e7d907a9..e4fd07d6 100644 --- a/lib/kernel.mli +++ b/lib/kernel.mli @@ -7,7 +7,7 @@ module rec Coh : sig val forget : t -> ps * Unchecked_types(Coh)(Tm).ty * pp_data val check_equal : t -> t -> unit val is_inv : t -> bool - val to_string : t -> string + val to_string : ?unroll:bool -> t -> string val dim : t -> int val src : t -> Unchecked_types(Coh)(Tm).tm val tgt : t -> Unchecked_types(Coh)(Tm).tm @@ -100,20 +100,6 @@ end module Unchecked : sig type sub_ps_bp = { sub_ps : sub_ps; l : tm; r : tm } - val ps_to_string : ps -> string - val ty_to_string : ty -> string - val tm_to_string : tm -> string - val sub_ps_to_string : ?func:(Var.t * int) list list -> sub_ps -> string - val ctx_to_string : ctx -> string - val sub_to_string : ?func:(Var.t * int) list list -> sub -> string - val sub_to_string_debug : sub -> string - val meta_ctx_to_string : meta_ctx -> string - val pp_data_to_string : ?print_func:bool -> pp_data -> string - val full_name : pp_data -> string - val check_equal_ctx : ctx -> ctx -> unit - val check_equal_ps : ps -> ps -> unit - val check_equal_ty : ty -> ty -> unit - val check_equal_tm : tm -> tm -> unit val dim_ctx : ctx -> int val dim_ty : ty -> int val dim_ps : ps -> int @@ -174,6 +160,27 @@ module Unchecked : sig val develop_ty : ty -> ty end +module Printing : sig + val ps_to_string : ps -> string + val ty_to_string : ty -> string + val tm_to_string : tm -> string + val sub_ps_to_string : ?func:(Var.t * int) list list -> sub_ps -> string + val ctx_to_string : ctx -> string + val sub_to_string : ?func:(Var.t * int) list list -> sub -> string + val sub_to_string_debug : sub -> string + val meta_ctx_to_string : meta_ctx -> string + val pp_data_to_string : ?print_func:bool -> pp_data -> string + val full_name : pp_data -> string + val print_kolmogorov : tm -> string +end + +module Equality : sig + val check_equal_ctx : ctx -> ctx -> unit + val check_equal_ps : ps -> ps -> unit + val check_equal_ty : ty -> ty -> unit + val check_equal_tm : tm -> tm -> unit +end + module Display_maps : sig val var_apply_sub : Var.t -> sub -> Var.t val pullback : ctx -> sub -> ctx -> sub -> ctx * sub diff --git a/lib/lexer.mll b/lib/lexer.mll index 49717a32..b35f0f8e 100644 --- a/lib/lexer.mll +++ b/lib/lexer.mll @@ -24,7 +24,18 @@ rule token = parse | "cylstack(" (['0'-'9']* as n) ")" { let n = int_of_string n in CYLSTACK(n) } + | "EH(" (['0'-'9']* as n) "," (['0'-'9']* as k) "," (['0'-'9']* as l)")" { + let n = int_of_string n in + let k = int_of_string k in + let l = int_of_string l in + EH_FULL(n,k,l) } + | "eh(" (['0'-'9']* as n) "," (['0'-'9']* as k) "," (['0'-'9']* as l)")" { + let n = int_of_string n in + let k = int_of_string k in + let l = int_of_string l in + EH_HALF(n,k,l) } | "declare" { DECLARE } + | "benchmark" { BENCHMARK } | "I" { INV } | "U" { UNIT } | "(" { LPAR } diff --git a/lib/opposite.ml b/lib/opposite.ml index b8313637..b6fc534d 100644 --- a/lib/opposite.ml +++ b/lib/opposite.ml @@ -31,7 +31,7 @@ let equiv_op_ps ps op_data = level 0 ps let op_pp_data pp_data op_data = - let name = Unchecked.full_name pp_data in + let name = Printing.full_name pp_data in let name = Printf.sprintf "%s_op{%s}" name (op_data_to_string op_data) in (name, 0, []) @@ -96,9 +96,9 @@ let coh c op_data = coh c op_data equiv let tm t op_data = - Io.info ~v:3 (lazy ("computing opposite of term " ^ Unchecked.tm_to_string t)); + Io.info ~v:3 (lazy ("computing opposite of term " ^ Printing.tm_to_string t)); let t = tm t op_data in - Io.info ~v:4 (lazy ("opposite computed: " ^ Unchecked.tm_to_string t)); + Io.info ~v:4 (lazy ("opposite computed: " ^ Printing.tm_to_string t)); t let checked_tm t op_data = diff --git a/lib/padding.ml b/lib/padding.ml new file mode 100644 index 00000000..2e712f9d --- /dev/null +++ b/lib/padding.ml @@ -0,0 +1,521 @@ +open Common +open Kernel +open Unchecked_types.Unchecked_types (Coh) (Tm) + +module type StringS = sig + val value : string +end + +module Filtration = struct + (* Data defining a filtration *) + module type MakerS = sig + val min : int + val max : int + val ctx : int -> ctx + val v : int -> Var.t + end + + (* Functions relative to a filtration *) + module type S = sig + include MakerS + + val sub : int -> sub + val v_constr : int -> constr + val src_v : int -> constr + val tgt_v : int -> constr + val v_plus : int -> Var.t + val v_bridge : int -> Var.t + val in_plus : int -> sub + val in_minus : int -> sub + end + + module Make (F : MakerS) : S = struct + include F + + let v_constr i = (Var (F.v i), fst (List.assoc (F.v i) (F.ctx i))) + let src_v i = Construct.src 1 (v_constr i) + let tgt_v i = Construct.tgt 1 (v_constr i) + + let to_db i = + let c = Functorialisation.ctx (F.ctx i) [ F.v i ] in + Unchecked.db_level_sub_inv c + + let v_plus i = Display_maps.var_apply_sub (Var.Plus (F.v i)) (to_db i) + let v_bridge i = Display_maps.var_apply_sub (Var.Bridge (F.v i)) (to_db i) + + let in_plus i = + let rec aux ctx = + match ctx with + | [] -> [] + | (x, (_, _)) :: ctx when x == F.v i -> + (v i, (Var (v_plus i), false)) :: aux ctx + | (x, (_, b)) :: ctx -> + (x, (Unchecked.tm_apply_sub (Var x) (to_db i), b)) :: aux ctx + in + aux (F.ctx i) + + let in_minus i = + let rec aux ctx = + match ctx with + | [] -> [] + | (x, (_, _)) :: ctx when x == F.v i -> + (v i, (Var (v i), false)) :: aux ctx + | (x, (_, b)) :: ctx -> + (x, (Unchecked.tm_apply_sub (Var x) (to_db i), b)) :: aux ctx + in + aux (F.ctx i) + + let sub i = + let w = v_constr (i + 1) in + let rec aux ctx = + match ctx with + | [] -> [] + | (x, (_, _)) :: ctx when x = v i -> + (v_bridge i, (Construct.to_tm w, true)) + :: (v_plus i, (Construct.(to_tm (tgt 1 w)), false)) + :: (v i, (Construct.(to_tm (src 1 w)), false)) + :: aux ctx + | (x, (_, b)) :: ctx -> (x, (Var x, b)) :: aux ctx + in + aux (ctx i) + end +end + +module Padding = struct + let pad_one_step p q previous v sigma = + let prev = + Construct.tm_app_sub (Functorialisation.tm previous [ (v, 1) ]) sigma + in + Construct.comp3 (Tm.constr p) prev (Tm.constr q) + + module type PaddingDataS = sig + val p : int -> Tm.t + val q : int -> Tm.t + end + + module type PaddedS = sig + val padded : int -> Tm.t + end + + module Padded (F : Filtration.S) (D : PaddingDataS) (Name : StringS) : + PaddedS = struct + let memo_padded : (int, Tm.t) Hashtbl.t = Hashtbl.create 77 + + let rec padded i = + let compute_padded i = + let name = (Printf.sprintf "%s.Padding(%d)" Name.value i, 0, []) in + let padded_constr = + if i = F.min then F.v_constr i + else + pad_one_step + (D.p (i - 1)) + (D.q (i - 1)) + (padded (i - 1)) + (F.v (i - 1)) + (F.sub (i - 1)) + in + check_constr (F.ctx i) ~name padded_constr + in + match Hashtbl.find_opt memo_padded i with + | Some padded -> padded + | None -> + let padded = compute_padded i in + Hashtbl.add memo_padded i padded; + padded + end + + (* Several padding data we consider are canonical -- they are given by a single + coherence in a well-chosen pasting scheme. The following aims at streamlining + the construction of such padding data *) + module type CanonicalPaddingDataArgsS = sig + val ps : int -> ps + val p_src : int -> constr + val q_tgt : int -> constr + val p_inc : int -> constr list + val q_inc : int -> constr list + val pad_in_ps : int -> sub + end + + module CanonicalPaddingData + (F : Filtration.S) + (Args : CanonicalPaddingDataArgsS) + (P : PaddedS) + (Name : StringS) = + struct + let p i = + let padded_subbed = + Construct.tm_app_sub (P.padded i) (Args.pad_in_ps i) + in + let ty = Construct.arr (Args.p_src i) padded_subbed in + let name = (Printf.sprintf "%s.p(%d)" Name.value i, 0, []) in + let coh = check_coh (Args.ps i) ty name in + check_constr (F.ctx (i + 1)) (Construct.coh_app coh (Args.p_inc i)) + + let q i = + let padded_subbed = + Construct.tm_app_sub (P.padded i) (Args.pad_in_ps i) + in + let ty = Construct.arr padded_subbed (Args.q_tgt i) in + let name = (Printf.sprintf "%s.p(%d)" Name.value i, 0, []) in + let coh = check_coh (Args.ps i) ty name in + check_constr (F.ctx (i + 1)) (Construct.coh_app coh (Args.q_inc i)) + end + + module type MakerS = sig + module F : Filtration.S + module D : PaddingDataS + module P : PaddedS + + val name : string + end + + module type S = sig + include MakerS + + val ctx : ctx + val v : Var.t + val v_constr : constr + val v_plus : Var.t + val v_bridge : Var.t + val p : Tm.t + val q : Tm.t + val padded : Tm.t + val padded_func : int -> int -> Tm.t + end + + module Make (A : MakerS) : S = struct + module F = A.F + + module D = struct + include A.D + + let memo_p : (int, Tm.t) Hashtbl.t = Hashtbl.create 77 + let memo_q : (int, Tm.t) Hashtbl.t = Hashtbl.create 77 + + let p i = + match Hashtbl.find_opt memo_p i with + | Some padded -> padded + | None -> + let padded = p i in + Hashtbl.add memo_p i padded; + padded + + let q i = + match Hashtbl.find_opt memo_q i with + | Some padded -> padded + | None -> + let padded = q i in + Hashtbl.add memo_q i padded; + padded + end + + module P = A.P + + let name = A.name + let ctx = F.ctx F.max + let v = F.v F.max + let v_constr = F.v_constr F.max + let v_plus = F.v_plus F.max + let v_bridge = F.v_bridge F.max + let p = D.p F.max + let q = D.q F.max + let padded = P.padded F.max + + (* Assumption: t is in the i-th context of the filtration *) + let rec iterated_func t i r = + match r with + | 0 -> t + | r -> + check_constr + (F.ctx (i + r)) + (Construct.tm_app_sub + (Functorialisation.tm + (iterated_func t i (r - 1)) + [ (F.v (i + r), 1) ]) + (F.sub (i + r - 1))) + + let padded_func i r = iterated_func (P.padded i) i r + end + + module type MakerCanonicalS = sig + module F : Filtration.S + module D : CanonicalPaddingDataArgsS + + val name : string + end + + module MakeCanonical (A : MakerCanonicalS) = Make (struct + module F = A.F + + let name = A.name + + module Name : StringS = struct + let value = A.name + end + + module rec D : PaddingDataS = CanonicalPaddingData (F) (A.D) (P) (Name) + and P : PaddedS = Padded (F) (D) (Name) + end) +end + +module type FiltrationMorphismS = sig + val sub : int -> sub + val name : string +end + +module PaddingApp + (Tgt : Filtration.S) + (M : FiltrationMorphismS) + (P : Padding.S) : Padding.S = Padding.Make (struct + module F = Tgt + + module D = struct + let p i = + check_constr + (Tgt.ctx (i + 1)) + (Construct.tm_app_sub (P.D.p i) (M.sub (i + 1))) + + let q i = + check_constr + (Tgt.ctx (i + 1)) + (Construct.tm_app_sub (P.D.q i) (M.sub (i + 1))) + end + + let name = Printf.sprintf "%s[%s]" P.name M.name + + module P = struct + let padded i = + check_constr (Tgt.ctx i) (Construct.tm_app_sub (P.P.padded i) (M.sub i)) + end +end) + +module Suspend (P : Padding.S) : Padding.S = Padding.Make (struct + module F = Filtration.Make (struct + let min = P.F.min + 1 + let max = P.F.max + 1 + let ctx i = Suspension.ctx (Some 1) (P.F.ctx (i - 1)) + let v i = P.F.v i + end) + + module D = struct + let p i = Suspension.checked_tm (Some 1) (P.D.p (i - 1)) + let q i = Suspension.checked_tm (Some 1) (P.D.q (i - 1)) + end + + let name = Printf.sprintf "Σ%s" P.name + + module P = struct + let padded i = Suspension.checked_tm (Some 1) (P.P.padded (i - 1)) + end +end) + +module Repadding = struct + let hexcomp fminus fplus ybridge fbridge gminus gplus gbridge zbridge hminus + hplus hbridge = + let d = Construct.dim fminus - 1 in + let db n = Var.Db n in + let hex = + Functorialisation.coh (Builtin.comp_n 3) [ db 6; db 4; db 3; db 2; db 1 ] + in + let hex = Suspension.checked_tm (Some d) hex in + let x = Construct.src 1 fminus in + let yminus = Construct.tgt 1 fminus in + let yplus = Construct.tgt 1 fplus in + let zminus = Construct.src 1 hminus in + let zplus = Construct.src 1 hplus in + let w = Construct.tgt 1 hminus in + let rec list_tgt_src ty = + match ty with + | Obj -> [] + | Arr (a, u, v) -> (v, a) :: (u, a) :: list_tgt_src a + | _ -> assert false + in + let sub = + hbridge :: hplus :: hminus :: w :: gbridge :: gplus :: gminus :: zbridge + :: zplus :: zminus :: fbridge :: fplus :: fminus :: ybridge :: yplus + :: yminus :: x + :: list_tgt_src (snd w) + in + (* The call to sub_ps_to_sub is a bit of a hack, relying on the fact that all + checked terms use deBruijn. Further refactoring to be done in the kernel to + enforce this more statically *) + Construct.tm_app hex sub + + let repad_one_step p_0 p_1 f q_0 q_1 g previous iota_minus iota_plus v sub = + let padding_0, padding_1 = Tm.bdry previous in + hexcomp (Tm.constr p_0) (Tm.constr p_1) + Construct.(apply_sub (tm_app_sub previous iota_minus) sub) + (Tm.constr f) + Construct.(tm_app_sub (Functorialisation.tm padding_0 [ (v, 1) ]) sub) + Construct.(tm_app_sub (Functorialisation.tm padding_1 [ (v, 1) ]) sub) + Construct.( + inverse (tm_app_sub (Functorialisation.tm previous [ (v, 1) ]) sub)) + Construct.(apply_sub (tm_app_sub previous iota_plus) sub) + (Tm.constr q_0) (Tm.constr q_1) (Tm.constr g) + + module type RepaddingDataS = sig + val f : int -> Tm.t + val g : int -> Tm.t + end + + module type RepaddedS = sig + val repad : int -> Tm.t + end + + module Repadded + (P1 : Padding.S) + (P2 : Padding.S) + (D : RepaddingDataS) + (Name : StringS) = + struct + let memo_repadded = Hashtbl.create 77 + + let rec repad i = + let compute_repadding i = + let repadding_constr = + if i = P1.F.min then Construct.id_n 1 (P1.F.v_constr i) + else + let previous = repad (i - 1) in + let sigma = P1.F.sub (i - 1) in + let f, g = (D.f (i - 1), D.g (i - 1)) in + repad_one_step + (P1.D.p (i - 1)) + (P2.D.p (i - 1)) + f + (P1.D.q (i - 1)) + (P2.D.q (i - 1)) + g previous + (P1.F.in_minus (i - 1)) + (P1.F.in_plus (i - 1)) + (P1.F.v (i - 1)) + sigma + in + let name = (Printf.sprintf "%s.Repadding(%d)" Name.value i, 0, []) in + check_constr (P1.F.ctx i) ~name repadding_constr + in + match Hashtbl.find_opt memo_repadded i with + | Some t -> t + | None -> + let repadded = compute_repadding i in + Hashtbl.add memo_repadded i repadded; + repadded + end + + module type CanonicalRepaddingDataArgsS = sig + val ps : int -> ps + val incl : int -> constr list + end + + module CanonicalRepaddingData + (Args : CanonicalRepaddingDataArgsS) + (P1 : Padding.S) + (P2 : Padding.S) + (R : RepaddedS) + (Name : StringS) : RepaddingDataS = struct + let f i = + let ty = + Construct.( + arr + (wcomp + (Construct.develop (Tm.constr (P1.D.p i))) + i + (tm_app_sub (R.repad i) + (Unchecked.sub_apply_sub (P1.F.in_minus i) (P1.F.sub i)))) + (Construct.develop (Tm.constr (P2.D.p i)))) + in + let name = (Printf.sprintf "%s.f(%d)" Name.value i, 0, []) in + let coh = check_coh (Args.ps i) ty name in + check_constr (P1.F.ctx i) (Construct.coh_app coh (Args.incl i)) + + let g i = + let ty = + Construct.( + arr + (Construct.develop (Tm.constr (P1.D.q i))) + (wcomp + (tm_app_sub (R.repad i) + (Unchecked.sub_apply_sub (P1.F.in_plus i) (P1.F.sub i))) + i + (Construct.develop (Tm.constr (P2.D.q i))))) + in + let name = (Printf.sprintf "%s.g(%d)" Name.value i, 0, []) in + let coh = check_coh (Args.ps i) ty name in + check_constr (P1.F.ctx i) (Construct.coh_app coh (Args.incl i)) + end + + module type MakerS = sig + module P1 : Padding.S + module P2 : Padding.S + module D : RepaddingDataS + module R : RepaddedS + + val name : string + end + + module type S = sig + include MakerS + + val repadded : Tm.t + val f : Tm.t + val g : Tm.t + end + + module Make (A : MakerS) : S = struct + module P1 = A.P1 + module P2 = A.P2 + + module D = struct + include A.D + + let memo_f : (int, Tm.t) Hashtbl.t = Hashtbl.create 77 + let memo_g : (int, Tm.t) Hashtbl.t = Hashtbl.create 77 + + let f i = + match Hashtbl.find_opt memo_f i with + | Some padded -> padded + | None -> + let padded = f i in + Hashtbl.add memo_f i padded; + padded + + let g i = + match Hashtbl.find_opt memo_g i with + | Some padded -> padded + | None -> + let padded = g i in + Hashtbl.add memo_g i padded; + padded + end + + module R = A.R + + let name = A.name + let repadded = R.repad P1.F.max + let f = D.f (P1.F.max - 1) + let g = D.g (P1.F.max - 1) + end + + module type MakerCanonicalS = sig + module P1 : Padding.S + module P2 : Padding.S + module D : CanonicalRepaddingDataArgsS + + val name : string + end + + module MakeCanonical (A : MakerCanonicalS) : S = Make (struct + module P1 = A.P1 + module P2 = A.P2 + + module Name = struct + let value = A.name + end + + let name = A.name + + module rec D : RepaddingDataS = + CanonicalRepaddingData (A.D) (P1) (P2) (R) (Name) + + and R : RepaddedS = Repadded (P1) (P2) (D) (Name) + end) +end diff --git a/lib/padding.mli b/lib/padding.mli new file mode 100644 index 00000000..b0ec31e2 --- /dev/null +++ b/lib/padding.mli @@ -0,0 +1,141 @@ +open Common +open Kernel +open Unchecked_types.Unchecked_types(Coh)(Tm) + +module type StringS = sig + val value : string +end + +module Filtration : sig + (* Data needed to define a filtration *) + module type MakerS = sig + val min : int + val max : int + val ctx : int -> ctx + val v : int -> Var.t + end + + (* Data of the filtration *) + module type S = sig + include MakerS + + val sub : int -> sub + val v_constr : int -> constr + val src_v : int -> constr + val tgt_v : int -> constr + val v_plus : int -> Var.t + val v_bridge : int -> Var.t + val in_plus : int -> sub + val in_minus : int -> sub + end + + module Make (_ : MakerS) : S +end + +module Padding : sig + module type PaddingDataS = sig + val p : int -> Tm.t + val q : int -> Tm.t + end + + module type PaddedS = sig + val padded : int -> Tm.t + end + + module type CanonicalPaddingDataArgsS = sig + val ps : int -> ps + val p_src : int -> constr + val q_tgt : int -> constr + val p_inc : int -> constr list + val q_inc : int -> constr list + val pad_in_ps : int -> sub + end + + module type MakerS = sig + module F : Filtration.S + module D : PaddingDataS + module P : PaddedS + + val name : string + end + + module type S = sig + include MakerS + + val ctx : ctx + val v : Var.t + val v_constr : constr + val v_plus : Var.t + val v_bridge : Var.t + val p : Tm.t + val q : Tm.t + val padded : Tm.t + val padded_func : int -> int -> Tm.t + end + + module Make (_ : MakerS) : S + + module type MakerCanonicalS = sig + module F : Filtration.S + module D : CanonicalPaddingDataArgsS + + val name : string + end + + module MakeCanonical (_ : MakerCanonicalS) : S +end + +module type FiltrationMorphismS = sig + val sub : int -> sub + val name : string +end + +module PaddingApp (_ : Filtration.S) (_ : FiltrationMorphismS) (_ : Padding.S) : + Padding.S + +module Suspend (_ : Padding.S) : Padding.S + +module Repadding : sig + module type RepaddingDataS = sig + val f : int -> Tm.t + val g : int -> Tm.t + end + + module type RepaddedS = sig + val repad : int -> Tm.t + end + + module type CanonicalRepaddingDataArgsS = sig + val ps : int -> ps + val incl : int -> constr list + end + + module type MakerS = sig + module P1 : Padding.S + module P2 : Padding.S + module D : RepaddingDataS + module R : RepaddedS + + val name : string + end + + module type S = sig + include MakerS + + val repadded : Tm.t + val f : Tm.t + val g : Tm.t + end + + module Make (_ : MakerS) : S + + module type MakerCanonicalS = sig + module P1 : Padding.S + module P2 : Padding.S + module D : CanonicalRepaddingDataArgsS + + val name : string + end + + module MakeCanonical (_ : MakerCanonicalS) : S +end diff --git a/lib/parser.mly b/lib/parser.mly index 9cb03c6d..0d816f5b 100644 --- a/lib/parser.mly +++ b/lib/parser.mly @@ -37,10 +37,12 @@ %token BUILTIN %token CONECOMP %token CYLCOMP +%token EH_FULL +%token EH_HALF %token CYLSTACK %token IDENT %token INT -%token CHECK EQUAL LET IN SET INV UNIT DECLARE +%token CHECK EQUAL LET IN SET INV UNIT DECLARE BENCHMARK %token EOF %start prog @@ -75,6 +77,8 @@ cmd: | SET IDENT EQUAL IDENT { Set ($2,$4) } | SET IDENT EQUAL INT { Set ($2,$4) } | DECLARE IDENT EQUAL builtin { Decl_builtin (Var.make_var $2,$4) } + | BENCHMARK args_or_ps EQUAL tmexpr { Benchmark ($2,$4) } + | BENCHMARK builtin { Benchmark_builtin ($2) } args_of_same_ty : | IDENT COL tyexpr { [Var.make_var $1, $3], $3 } @@ -114,6 +118,8 @@ builtin: | CONECOMP { let (n,k,m) = $1 in Conecomp(n,k,m) } | CYLCOMP { let (n,k,m) = $1 in Cylcomp(n,k,m) } | CYLSTACK { let n = $1 in Cylstack(n) } + | EH_HALF { let (n,k,l) = $1 in Eh_half(n,k,l)} + | EH_FULL { let (n,k,l) = $1 in Eh_full(n,k,l)} simple_tmexpr: | LPAR tmexpr RPAR { $2 } diff --git a/lib/printing.ml b/lib/printing.ml new file mode 100644 index 00000000..6af4351c --- /dev/null +++ b/lib/printing.ml @@ -0,0 +1,401 @@ +open Common +open Unchecked_types + +module Printing (CohT : sig + type t +end) (TmT : sig + type t +end) (App : sig + val tm_apply_sub : + Unchecked_types(CohT)(TmT).tm -> + Unchecked_types(CohT)(TmT).sub -> + Unchecked_types(CohT)(TmT).tm +end) = +struct + open Unchecked_types (CohT) (TmT) + + module Make (Coh : sig + val to_string : ?unroll:bool -> CohT.t -> string + val func_data : CohT.t -> (Var.t * int) list list + val forget : CohT.t -> ps * ty * pp_data + val is_equal : CohT.t -> CohT.t -> bool + end) (Tm : sig + val func_data : TmT.t -> (Var.t * int) list list option + val name : TmT.t -> string option + val full_name : TmT.t -> string option + val develop : TmT.t -> tm + val ctx : TmT.t -> ctx + val is_equal : TmT.t -> TmT.t -> bool + end) = + struct + module Regular = struct + let rec func_to_string func = + let rec print_list = function + | [] -> "" + | [ (x, n) ] -> Printf.sprintf "(%s,%d)" (Var.to_string x) n + | (x, n) :: l -> + Printf.sprintf "%s (%s,%d)" (print_list l) (Var.to_string x) n + in + match func with + | [] -> "" + | l :: func -> + Printf.sprintf "%s[%s]" (func_to_string func) (print_list l) + + let rec bracket i s = + if i <= 0 then s else Printf.sprintf "[%s]" (bracket (i - 1) s) + + let rec ps_to_string = function + | Br l -> + Printf.sprintf "[%s]" + (List.fold_left + (fun s ps -> Printf.sprintf "%s%s" (ps_to_string ps) s) + "" l) + + let rec ty_to_string = function + | Meta_ty i -> Printf.sprintf "_ty%i" i + | Obj -> "*" + | Arr (a, u, v) -> + if !Settings.verbosity >= 3 then + Printf.sprintf "%s | %s -> %s" (ty_to_string a) (tm_to_string u) + (tm_to_string v) + else Printf.sprintf "%s -> %s" (tm_to_string u) (tm_to_string v) + + and tm_to_string = function + | Var v -> Var.to_string v + | Meta_tm i -> Printf.sprintf "_tm%i" i + | Coh (c, s) -> + if !Settings.unroll_coherences then + Printf.sprintf "%s[%s]" (Coh.to_string c) (sub_ps_to_string s) + else + let func = Coh.func_data c in + Printf.sprintf "(%s%s)" (Coh.to_string c) + (sub_ps_to_string ~func s) + | App (t, s) -> ( + match Tm.name t with + | Some name -> + let func = Tm.func_data t in + let str_s, expl = sub_to_string ?func s in + let expl_str = if expl then "@" else "" in + Printf.sprintf "(%s%s%s)" expl_str name str_s + | None -> tm_to_string (App.tm_apply_sub (Tm.develop t) s)) + + and sub_ps_to_string ?(func = []) s = + match func with + | [] -> sub_ps_to_string_nofunc s + | func :: _ -> sub_ps_to_string_func s func + + and sub_ps_to_string_nofunc s = + match s with + | [] -> "" + | (t, expl) :: s -> + if expl || !Settings.print_explicit_substitutions then + Printf.sprintf "%s %s" (sub_ps_to_string s) (tm_to_string t) + else sub_ps_to_string s + + and sub_ps_to_string_func s func = + let rec print s = + match s with + | (t, true) :: s -> + let str, x = print s in + let arg = + match List.assoc_opt (Var.Db x) func with + | None -> tm_to_string t + | Some i -> bracket i (tm_to_string t) + in + (Printf.sprintf "%s %s" str arg, x + 1) + | (t, false) :: s -> + let str, x = print s in + let str = + if !Settings.print_explicit_substitutions then + Printf.sprintf "%s %s" str (tm_to_string t) + else str + in + (str, x + 1) + | [] -> ("", 0) + in + fst (print s) + + and sub_to_string ?(func = []) sub = + match func with + | [] -> (sub_to_string_nofunc sub, false) + | func :: _ -> + let s, b = sub_to_string_func sub func in + (" " ^ s, b) + + and sub_to_string_nofunc sub = + match sub with + | [] -> "" + | (_, (t, expl)) :: s -> + if expl || !Settings.print_explicit_substitutions then + Printf.sprintf "%s %s" (sub_to_string_nofunc s) (tm_to_string t) + else sub_to_string_nofunc s + + and sub_to_string_func s func = + let arg_to_string t b = + if b || !Settings.print_explicit_substitutions then tm_to_string t + else "_" + in + let rec string_list s needs_expl skip = + match s with + | [] when skip <= 0 -> ([], needs_expl) + | (x, (t, e)) :: s when skip <= 0 -> ( + match List.assoc_opt x func with + | None -> + let l, b = string_list s needs_expl 0 in + ((arg_to_string t e, e) :: l, b) + | Some i -> + let l, b = string_list s (needs_expl || not e) (2 * i) in + ((bracket i (arg_to_string t e), e) :: l, b)) + | _ :: s -> string_list s needs_expl (skip - 1) + | [] -> + Error.fatal + "functorialised arguments present in inconsistent places" + in + let str, needs_expl = string_list s false 0 in + let str = + List.rev_map + (fun (tm, e) -> if e || needs_expl then Some tm else None) + str + in + (String.concat " " (List.filter_map Fun.id str), needs_expl) + + and sub_to_string_debug sub = + match sub with + | [] -> "" + | (x, (t, _)) :: s -> + Printf.sprintf "%s (%s, %s)" (sub_to_string_debug s) + (Var.to_string x) (tm_to_string t) + + let pp_data_to_string ?(print_func = false) (name, susp, func) = + let susp_name = + if susp > 0 then Printf.sprintf "!%i%s" susp name else name + in + match func with + | [] -> susp_name + | _ :: [] when not print_func -> susp_name + | _ :: func when not print_func -> + susp_name ^ "_func" ^ func_to_string func + | func -> susp_name ^ "_func" ^ func_to_string func + + let rec ctx_to_string = function + | [] -> "" + | (x, (t, true)) :: c -> + Printf.sprintf "%s (%s: %s)" (ctx_to_string c) (Var.to_string x) + (ty_to_string t) + | (x, (t, false)) :: c -> + Printf.sprintf "%s {%s: %s}" (ctx_to_string c) (Var.to_string x) + (ty_to_string t) + + let rec meta_ctx_to_string = function + | [] -> "" + | (i, t) :: c -> + Printf.sprintf "%s (_tm%i: %s)" (meta_ctx_to_string c) i + (ty_to_string t) + + let full_name name = pp_data_to_string ~print_func:true name + end + + module Kolmogorov = struct + type value = Tm of TmT.t | Coh of CohT.t + + let counter = ref 0 + + let new_name () = + incr counter; + Printf.sprintf "tm_%i" !counter + + let find t decls = + let rec find t decls = + match (t, decls) with + | _, [] -> None + | Tm t, (Tm u, n) :: _ when Tm.is_equal t u -> Some n + | Coh c1, (Coh c2, n) :: _ when Coh.is_equal c1 c2 -> Some n + | _, _ :: decls -> find t decls + in + find t decls + + let rec collect_decls_ty decls = function + | Meta_ty _ -> assert false + | Obj -> decls + | Arr (_, u, v) -> + let decls = collect_decls_tm decls u in + collect_decls_tm decls v + + and collect_decls_tm decls = function + | Var _ -> decls + | Meta_tm _ -> assert false + | Coh (c, s) -> + let decls = + match find (Coh c) decls with + | Some _ -> decls + | None -> + let _, _, pp_data = Coh.forget c in + let name = Regular.full_name pp_data in + let decls = (Coh c, name) :: decls in + collect_decls_coh decls c + in + collect_decls_sub_ps decls s + | App (t, s) -> + let decls = + match find (Tm t) decls with + | Some _ -> decls + | None -> + let name = + match Tm.full_name t with + | Some name -> name + | None -> new_name () + in + let decls = (Tm t, name) :: decls in + collect_decls_checkedtm decls t + in + collect_decls_sub decls s + + and collect_decls_checkedtm decls t = + let decls = collect_decls_tm decls (Tm.develop t) in + collect_decls_ctx decls (Tm.ctx t) + + and collect_decls_coh decls c = + let _, ty, _ = Coh.forget c in + collect_decls_ty decls ty + + and collect_decls_sub_ps decls = function + | [] -> decls + | (t, expl) :: s -> + if expl then + let decls = collect_decls_tm decls t in + collect_decls_sub_ps decls s + else collect_decls_sub_ps decls s + + and collect_decls_sub decls s = + collect_decls_sub_ps decls (List.map snd s) + + and collect_decls_ctx decls = function + | [] -> decls + | (_, (ty, _)) :: ctx -> + collect_decls_ctx (collect_decls_ty decls ty) ctx + + let order_decls decls = + let all_deps_done t ordered = + let deps = + match t with + | Tm t -> collect_decls_checkedtm [] t + | Coh c -> collect_decls_coh [] c + in + List.for_all + (fun (m, _) -> + List.exists + (fun (n, _) -> + match (n, m) with + | Tm t1, Tm t2 -> Tm.is_equal t1 t2 + | Coh c1, Coh c2 -> Coh.is_equal c1 c2 + | _, _ -> false) + ordered) + deps + in + let rec add_next decls ordered front = + match decls with + | [] -> assert false + | (t, n) :: decls when all_deps_done t ordered -> + (List.append front decls, (t, n) :: ordered) + | (t, n) :: decls -> add_next decls ordered ((t, n) :: front) + in + let rec add_recursively decls ordered = + match decls with + | [] -> ordered + | _ -> + let decls, ordered = add_next decls ordered [] in + add_recursively decls ordered + in + add_recursively decls [] + + let rec ty_to_string decls = function + | Meta_ty _ -> assert false + | Obj -> "*" + | Arr (_, u, v) -> + let u = tm_to_string decls u in + let v = tm_to_string decls v in + Printf.sprintf "%s -> %s" u v + + and tm_to_string decls t = + match t with + | Var v -> Var.to_string v + | Meta_tm _ -> assert false + | Coh (c, s) -> + let c = + match find (Coh c) decls with Some c -> c | None -> assert false + in + let s = sub_ps_to_string decls s in + Printf.sprintf "%s %s" c s + | App (t, s) -> + let t = + match find (Tm t) decls with Some t -> t | None -> assert false + in + let s = sub_to_string decls s in + Printf.sprintf "%s %s" t s + + and sub_ps_to_string decls s = + match s with + | [] -> "" + | (t, expl) :: s -> + if expl then + let t = tm_to_string decls t in + let s = sub_ps_to_string decls s in + Printf.sprintf "%s (%s)" s t + else sub_ps_to_string decls s + + and sub_to_string decls s = sub_ps_to_string decls (List.map snd s) + + let print_tm_in_ctx decls ctx tm = + let rec print decls ctx res = + match ctx with + | [] -> "λ" ^ res + | (x, (ty, true)) :: ctx -> + let ty = ty_to_string decls ty in + let res = Printf.sprintf "(%s,%s) %s" (Var.to_string x) ty res in + print decls ctx res + | (x, (ty, false)) :: ctx -> + let ty = ty_to_string decls ty in + let res = Printf.sprintf "{%s,%s} %s" (Var.to_string x) ty res in + print decls ctx res + in + print decls ctx (Printf.sprintf "=> %s" tm) + + let print_tm t = + let rec print_decls decls res = + match decls with + | [] -> res + | (Tm t, name) :: decls -> + let ctx = Tm.ctx t in + let newtm = tm_to_string decls (Tm.develop t) in + let newdecl = print_tm_in_ctx decls ctx newtm in + let res = + Printf.sprintf "let %s = %s in \n %s" name newdecl res + in + print_decls decls res + | (Coh c, name) :: decls -> + let ps, ty, _ = Coh.forget c in + let res = + Printf.sprintf "let %s = Coh(%s, %s) in\n %s" name + (Regular.ps_to_string ps) (ty_to_string decls ty) res + in + print_decls decls res + in + let decls = collect_decls_tm [] t in + let decls = order_decls decls in + let res = tm_to_string decls t in + print_decls decls res + end + + let ps_to_string = Regular.ps_to_string + let ty_to_string = Regular.ty_to_string + let tm_to_string = Regular.tm_to_string + let ctx_to_string = Regular.ctx_to_string + let sub_ps_to_string = Regular.sub_ps_to_string + let sub_to_string ?func s = fst (Regular.sub_to_string ?func s) + let sub_to_string_debug = Regular.sub_to_string_debug + let meta_ctx_to_string = Regular.meta_ctx_to_string + let pp_data_to_string = Regular.pp_data_to_string + let full_name = Regular.full_name + let print_kolmogorov = Kolmogorov.print_tm + end +end diff --git a/lib/printing.mli b/lib/printing.mli new file mode 100644 index 00000000..76ad0332 --- /dev/null +++ b/lib/printing.mli @@ -0,0 +1,41 @@ +open Common +open Unchecked_types + +module Printing (Coh : sig + type t +end) (Tm : sig + type t +end) (_ : sig + val tm_apply_sub : + Unchecked_types(Coh)(Tm).tm -> + Unchecked_types(Coh)(Tm).sub -> + Unchecked_types(Coh)(Tm).tm +end) : sig + open Unchecked_types(Coh)(Tm) + + module Make (_ : sig + val to_string : ?unroll:bool -> Coh.t -> string + val func_data : Coh.t -> (Var.t * int) list list + val forget : Coh.t -> ps * ty * pp_data + val is_equal : Coh.t -> Coh.t -> bool + end) (_ : sig + val func_data : Tm.t -> (Var.t * int) list list option + val name : Tm.t -> string option + val full_name : Tm.t -> string option + val develop : Tm.t -> tm + val ctx : Tm.t -> ctx + val is_equal : Tm.t -> Tm.t -> bool + end) : sig + val ps_to_string : ps -> string + val ty_to_string : ty -> string + val tm_to_string : tm -> string + val sub_ps_to_string : ?func:(Var.t * int) list list -> sub_ps -> string + val ctx_to_string : ctx -> string + val sub_to_string : ?func:(Var.t * int) list list -> sub -> string + val sub_to_string_debug : sub -> string + val meta_ctx_to_string : meta_ctx -> string + val full_name : pp_data -> string + val pp_data_to_string : ?print_func:bool -> pp_data -> string + val print_kolmogorov : tm -> string + end +end diff --git a/lib/ps_reduction.ml b/lib/ps_reduction.ml index a6aa3480..c1005c0f 100644 --- a/lib/ps_reduction.ml +++ b/lib/ps_reduction.ml @@ -28,7 +28,7 @@ let reduction_sub ps = let coh c = let ps, _, name = Coh.forget c in - let name = Unchecked.full_name name in + let name = Printing.full_name name in let ps = reduce (Unchecked.dim_ps ps - 1) ps in if Coh.is_inv c then Error.fatal "cannot reduce invertible coherences" else diff --git a/lib/raw.ml b/lib/raw.ml index f2dba944..b2dfa1dc 100644 --- a/lib/raw.ml +++ b/lib/raw.ml @@ -8,6 +8,8 @@ let string_of_builtin = function | Conecomp (n, k, m) -> Printf.sprintf "conecomp(%d,%d,%d)" n k m | Cylcomp (n, k, m) -> Printf.sprintf "cylcomp(%d,%d,%d)" n k m | Cylstack n -> Printf.sprintf "cylstack(%d)" n + | Eh_half (n , k , l) -> Printf.sprintf "eh^%d_(%d,%d)" n k l + | Eh_full (n , k , l) -> Printf.sprintf "EH^%d_(%d,%d)" n k l let rec string_of_ty e = match e with @@ -124,6 +126,7 @@ and dim_builtin = function | Id -> 1 | Conecomp (n, _, m) | Cylcomp (n, _, m) -> max n m | Cylstack n -> n + | Eh_half (n, _, _) | Eh_full (n, _, _) -> n + 1 let rec dim_sub ctx = function | [] -> (0, 0) @@ -145,7 +148,8 @@ let rec infer_susp_tm ctx = function match b with | Comp -> 1 | Id -> 0 - | Conecomp (n, _, _) | Cylcomp (n, _, _) | Cylstack n -> n) + | Conecomp (n, _, _) | Cylcomp (n, _, _) | Cylstack n -> n + | Eh_half (n, _, _) | Eh_full (n, _, _) -> n) | _ -> assert false in let d, func = dim_sub ctx s in diff --git a/lib/raw_types.mli b/lib/raw_types.mli index a700082a..908d2d71 100644 --- a/lib/raw_types.mli +++ b/lib/raw_types.mli @@ -6,6 +6,8 @@ type builtin = | Conecomp of (int * int * int) | Cylcomp of (int * int * int) | Cylstack of int + | Eh_half of (int * int * int) + | Eh_full of (int * int * int) type tyR = Letin_ty of Var.t * tmR * tyR | ObjR | ArrR of tmR * tmR diff --git a/lib/translate_raw.ml b/lib/translate_raw.ml index 66b303f8..d1ce4f3f 100644 --- a/lib/translate_raw.ml +++ b/lib/translate_raw.ml @@ -60,6 +60,12 @@ let rec tm t = make_app tm s susp expl | Cylstack n -> let tm = Cylinders.stacking n in + make_app tm s susp expl + | Eh_half (n, k, l) -> + let tm = Eh.eh n k l in + make_app tm s susp expl + | Eh_full (n, k, l) -> + let tm = Eh.full_eh n k l in make_app tm s susp expl) | Op (l, t) -> let offset = head_susp t in diff --git a/lib/unchecked.ml b/lib/unchecked.ml index b55b8d97..0d59100e 100644 --- a/lib/unchecked.ml +++ b/lib/unchecked.ml @@ -12,13 +12,8 @@ struct module Make (Coh : sig val forget : CohT.t -> ps * Unchecked_types(CohT)(TmT).ty * pp_data - val to_string : CohT.t -> string - val func_data : CohT.t -> (Var.t * int) list list - val check_equal : CohT.t -> CohT.t -> unit val check : ps -> ty -> pp_data -> CohT.t end) (Tm : sig - val name : TmT.t -> string option - val func_data : TmT.t -> (Var.t * int) list list option val develop : TmT.t -> Unchecked_types(CohT)(TmT).tm val apply : @@ -393,184 +388,6 @@ struct in wedge_sub_ps_bp ls - module Printing = struct - let rec func_to_string func = - let rec print_list = function - | [] -> "" - | [ (x, n) ] -> Printf.sprintf "(%s,%d)" (Var.to_string x) n - | (x, n) :: l -> - Printf.sprintf "%s (%s,%d)" (print_list l) (Var.to_string x) n - in - match func with - | [] -> "" - | l :: func -> - Printf.sprintf "%s[%s]" (func_to_string func) (print_list l) - - let rec bracket i s = - if i <= 0 then s else Printf.sprintf "[%s]" (bracket (i - 1) s) - - let rec ps_to_string = function - | Br l -> - Printf.sprintf "[%s]" - (List.fold_left - (fun s ps -> Printf.sprintf "%s%s" (ps_to_string ps) s) - "" l) - - let rec ty_to_string = function - | Meta_ty i -> Printf.sprintf "_ty%i" i - | Obj -> "*" - | Arr (a, u, v) -> - if !Settings.verbosity >= 3 then - Printf.sprintf "%s | %s -> %s" (ty_to_string a) (tm_to_string u) - (tm_to_string v) - else Printf.sprintf "%s -> %s" (tm_to_string u) (tm_to_string v) - - and tm_to_string = function - | Var v -> Var.to_string v - | Meta_tm i -> Printf.sprintf "_tm%i" i - | Coh (c, s) -> - if !Settings.unroll_coherences then - Printf.sprintf "%s[%s]" (Coh.to_string c) (sub_ps_to_string s) - else - let func = Coh.func_data c in - Printf.sprintf "(%s%s)" (Coh.to_string c) - (sub_ps_to_string ~func s) - | App (t, s) -> ( - match Tm.name t with - | Some name -> - let func = Tm.func_data t in - let str_s, expl = sub_to_string ?func s in - let expl_str = if expl then "@" else "" in - Printf.sprintf "(%s%s%s)" expl_str name str_s - | None -> tm_to_string (tm_apply_sub (Tm.develop t) s)) - - and sub_ps_to_string ?(func = []) s = - match func with - | [] -> sub_ps_to_string_nofunc s - | func :: _ -> sub_ps_to_string_func s func - - and sub_ps_to_string_nofunc s = - match s with - | [] -> "" - | (t, expl) :: s -> - if expl || !Settings.print_explicit_substitutions then - Printf.sprintf "%s %s" (sub_ps_to_string s) (tm_to_string t) - else sub_ps_to_string s - - and sub_ps_to_string_func s func = - let rec print s = - match s with - | (t, true) :: s -> - let str, x = print s in - let arg = - match List.assoc_opt (Var.Db x) func with - | None -> tm_to_string t - | Some i -> bracket i (tm_to_string t) - in - (Printf.sprintf "%s %s" str arg, x + 1) - | (t, false) :: s -> - let str, x = print s in - let str = - if !Settings.print_explicit_substitutions then - Printf.sprintf "%s %s" str (tm_to_string t) - else str - in - (str, x + 1) - | [] -> ("", 0) - in - fst (print s) - - and sub_to_string ?(func = []) sub = - match func with - | [] -> (sub_to_string_nofunc sub, false) - | func :: _ -> - let s, b = sub_to_string_func sub func in - (" " ^ s, b) - - and sub_to_string_nofunc sub = - match sub with - | [] -> "" - | (_, (t, expl)) :: s -> - if expl || !Settings.print_explicit_substitutions then - Printf.sprintf "%s %s" (sub_to_string_nofunc s) (tm_to_string t) - else sub_to_string_nofunc s - - and sub_to_string_func s func = - let arg_to_string t b = - if b || !Settings.print_explicit_substitutions then tm_to_string t - else "_" - in - let rec string_list s needs_expl skip = - match s with - | [] when skip <= 0 -> ([], needs_expl) - | (x, (t, e)) :: s when skip <= 0 -> ( - match List.assoc_opt x func with - | None -> - let l, b = string_list s needs_expl 0 in - ((arg_to_string t e, e) :: l, b) - | Some i -> - let l, b = string_list s (needs_expl || not e) (2 * i) in - ((bracket i (arg_to_string t e), e) :: l, b)) - | _ :: s -> string_list s needs_expl (skip - 1) - | [] -> - Error.fatal - "functorialised arguments present in inconsistent places" - in - let str, needs_expl = string_list s false 0 in - let str = - List.rev_map - (fun (tm, e) -> if e || needs_expl then Some tm else None) - str - in - (String.concat " " (List.filter_map Fun.id str), needs_expl) - - and sub_to_string_debug sub = - match sub with - | [] -> "" - | (x, (t, _)) :: s -> - Printf.sprintf "%s (%s, %s)" (sub_to_string_debug s) - (Var.to_string x) (tm_to_string t) - - let pp_data_to_string ?(print_func = false) (name, susp, func) = - let susp_name = - if susp > 0 then Printf.sprintf "!%i%s" susp name else name - in - match func with - | [] -> susp_name - | _ :: [] when not print_func -> susp_name - | _ :: func when not print_func -> - susp_name ^ "_func" ^ func_to_string func - | func -> susp_name ^ "_func" ^ func_to_string func - - let rec ctx_to_string = function - | [] -> "" - | (x, (t, true)) :: c -> - Printf.sprintf "%s (%s: %s)" (ctx_to_string c) (Var.to_string x) - (ty_to_string t) - | (x, (t, false)) :: c -> - Printf.sprintf "%s {%s: %s}" (ctx_to_string c) (Var.to_string x) - (ty_to_string t) - - let rec meta_ctx_to_string = function - | [] -> "" - | (i, t) :: c -> - Printf.sprintf "%s (_tm%i: %s)" (meta_ctx_to_string c) i - (ty_to_string t) - - let full_name name = pp_data_to_string ~print_func:true name - end - - let ps_to_string = Printing.ps_to_string - let ty_to_string = Printing.ty_to_string - let tm_to_string = Printing.tm_to_string - let ctx_to_string = Printing.ctx_to_string - let sub_ps_to_string = Printing.sub_ps_to_string - let sub_to_string ?func s = fst (Printing.sub_to_string ?func s) - let sub_to_string_debug = Printing.sub_to_string_debug - let meta_ctx_to_string = Printing.meta_ctx_to_string - let pp_data_to_string = Printing.pp_data_to_string - let full_name = Printing.full_name - let rec tm_contains_var t x = match t with | Var v -> v = x @@ -582,88 +399,6 @@ struct s | Meta_tm _ -> Error.fatal "meta-variables should be resolved" - let rec check_equal_ps ps1 ps2 = - match (ps1, ps2) with - | Br [], Br [] -> () - | Br (ps1 :: l1), Br (ps2 :: l2) -> - check_equal_ps ps1 ps2; - List.iter2 check_equal_ps l1 l2 - | Br [], Br (_ :: _) | Br (_ :: _), Br [] -> - raise (NotEqual (ps_to_string ps1, ps_to_string ps2)) - - let rec check_equal_ty ty1 ty2 = - match (ty1, ty2) with - | Meta_ty i, Meta_ty j -> - if i <> j then raise (NotEqual (string_of_int i, string_of_int j)) - | Obj, Obj -> () - | Arr (ty1, u1, v1), Arr (ty2, u2, v2) -> - check_equal_ty ty1 ty2; - check_equal_tm u1 u2; - check_equal_tm v1 v2 - | Obj, Arr _ - | Arr _, Obj - | Meta_ty _, Obj - | Meta_ty _, Arr _ - | Obj, Meta_ty _ - | Arr _, Meta_ty _ -> - raise (NotEqual (ty_to_string ty1, ty_to_string ty2)) - - and check_equal_tm tm1 tm2 = - match (tm1, tm2) with - | Var v1, Var v2 -> Var.check_equal v1 v2 - | Meta_tm i, Meta_tm j -> - if i <> j then raise (NotEqual (string_of_int i, string_of_int j)) - | Coh (coh1, s1), Coh (coh2, s2) -> - Coh.check_equal coh1 coh2; - check_equal_sub_ps s1 s2 - | App (t1, s1), App (t2, s2) when t1 == t2 -> - check_equal_sub_on_support t1 s1 s2 - | App (t, s), ((Coh _ | App _ | Var _) as tm2) - | ((Coh _ | Var _) as tm2), App (t, s) -> - let c = Tm.develop t in - check_equal_tm (tm_apply_sub c s) tm2 - | Var _, Coh _ - | Coh _, Var _ - | Meta_tm _, Var _ - | Meta_tm _, Coh _ - | Var _, Meta_tm _ - | Coh _, Meta_tm _ - | App _, Meta_tm _ - | Meta_tm _, App _ -> - raise (NotEqual (tm_to_string tm1, tm_to_string tm2)) - - and check_equal_sub_ps s1 s2 = - List.iter2 (fun (t1, _) (t2, _) -> check_equal_tm t1 t2) s1 s2 - - and check_equal_sub_on_support t s1 s2 = - List.iter2 - (fun (x, (t1, _)) (y, (t2, _)) -> - Var.check_equal x y; - if tm_contains_var (Tm.develop t) x then check_equal_tm t1 t2) - s1 s2 - - let rec check_equal_ctx ctx1 ctx2 = - match (ctx1, ctx2) with - | [], [] -> () - | (v1, (t1, _)) :: c1, (v2, (t2, _)) :: c2 -> - Var.check_equal v1 v2; - check_equal_ty t1 t2; - check_equal_ctx c1 c2 - | _ :: _, [] | [], _ :: _ -> - raise (NotEqual (ctx_to_string ctx1, ctx_to_string ctx2)) - - let check_equal_ty ty1 ty2 = - if ty1 == ty2 then () else check_equal_ty ty1 ty2 - - let check_equal_tm tm1 tm2 = - if tm1 == tm2 then () else check_equal_tm tm1 tm2 - - let check_equal_sub_ps s1 s2 = - if s1 == s2 then () else check_equal_sub_ps s1 s2 - - let check_equal_ctx ctx1 ctx2 = - if ctx1 == ctx2 then () else check_equal_ctx ctx1 ctx2 - let rec ty_contains_var a x = match a with | Obj -> false diff --git a/lib/unchecked.mli b/lib/unchecked.mli index 9c69a95a..dbf3967b 100644 --- a/lib/unchecked.mli +++ b/lib/unchecked.mli @@ -10,13 +10,8 @@ end) : sig module Make (_ : sig val forget : Coh.t -> ps * Unchecked_types(Coh)(Tm).ty * pp_data - val to_string : Coh.t -> string - val func_data : Coh.t -> (Var.t * int) list list - val check_equal : Coh.t -> Coh.t -> unit val check : ps -> ty -> pp_data -> Coh.t end) (_ : sig - val name : Tm.t -> string option - val func_data : Tm.t -> (Var.t * int) list list option val develop : Tm.t -> Unchecked_types(Coh)(Tm).tm val apply : @@ -28,21 +23,6 @@ end) : sig end) : sig type sub_ps_bp = { sub_ps : sub_ps; l : tm; r : tm } - val ps_to_string : ps -> string - val ty_to_string : ty -> string - val tm_to_string : tm -> string - val sub_ps_to_string : ?func:(Var.t * int) list list -> sub_ps -> string - val ctx_to_string : ctx -> string - val sub_to_string : ?func:(Var.t * int) list list -> sub -> string - val sub_to_string_debug : sub -> string - val meta_ctx_to_string : meta_ctx -> string - val pp_data_to_string : ?print_func:bool -> pp_data -> string - val full_name : pp_data -> string - val check_equal_ctx : ctx -> ctx -> unit - val check_equal_ps : ps -> ps -> unit - val check_equal_ty : ty -> ty -> unit - val check_equal_tm : tm -> tm -> unit - val check_equal_sub_ps : sub_ps -> sub_ps -> unit val dim_ctx : ctx -> int val dim_ty : ty -> int val dim_ps : ps -> int diff --git a/test.t/coverage/benchmark.catt b/test.t/coverage/benchmark.catt new file mode 100644 index 00000000..bcff9638 --- /dev/null +++ b/test.t/coverage/benchmark.catt @@ -0,0 +1 @@ +benchmark eh(4,2,1) diff --git a/test.t/features/benchmark.catt b/test.t/features/benchmark.catt new file mode 100644 index 00000000..d18e2f8a --- /dev/null +++ b/test.t/features/benchmark.catt @@ -0,0 +1,3 @@ +benchmark conecomp(2,1,2) +benchmark conecomp(3,1,3) +benchmark conecomp(3,2,3) diff --git a/test.t/features/eh.catt b/test.t/features/eh.catt new file mode 100644 index 00000000..5b2f000a --- /dev/null +++ b/test.t/features/eh.catt @@ -0,0 +1,15 @@ +check eh(2,0,1) +check eh(3,0,1) +check eh(4,2,1) +check eh(3,1,2) +check eh(4,3,2) +check eh(3,1,2) +check eh(4,2,3) +check eh(3,0,2) +check eh(2,1,0) +check eh(3,2,0) +check EH(2,0,1) +check EH(3,0,1) +check EH(3,1,2) +check EH(3,1,2) +check EH(3,2,0) diff --git a/test.t/run.t b/test.t/run.t index f7eb3036..ae71b1fa 100644 --- a/test.t/run.t +++ b/test.t/run.t @@ -667,3 +667,277 @@ [=I.I=] successfully defined term (!1builtin_comp3 [(Ilsimp x)] [(!2builtin_comp2 (!1builtin_comp3 (builtin_comp2 (builtin_id x) [a]) [(!2builtin_comp2 (!1builtin_comp2 [(lsimp x)] [(Ilsimp_op{1} x)]) (unit_Unit x))] (builtin_comp2 [b] (builtin_id x))) (exch b a))] [(lsimp_op{1} x)]) of type (!1builtin_comp3 (unitl^-1 (builtin_id x)) (!1builtin_comp3 (builtin_comp2 (builtin_id x) [a]) (!1builtin_comp2 (unitl (builtin_id x)) (unitl_op{1}^-1 (builtin_id x))) (builtin_comp2 [b] (builtin_id x))) (unitl_op{1} (builtin_id x))) -> (!1builtin_comp3 (unit^-1 x) (builtin_comp2 [b] [a]) (unit_op{1} x)). [=^.^=] let eh = (_builtin_comp (eh1 a b) (eh2 a b) I(op_{1}((eh2 b a))) I(op_{1}((eh1 b a)))) [=I.I=] successfully defined term (!2builtin_comp4 (eh1 a b) (eh2 a b) (!1builtin_comp3 [(Ilsimp_op{1}^-1 x)] [(!2builtin_comp2 (exch_op{1}^-1 b a) (!1builtin_comp3 (builtin_comp2_func[(.6,1)]_op{1} (builtin_id x) b) [(!2builtin_comp2 (unit_Unit_op{1}^-1 x) (!1builtin_comp2 [(lsimp_op{1}^-1 x)] [(Ilsimp_op{1}_op{1}^-1 x)]))] (builtin_comp2_func[(.4,1)]_op{1} a (builtin_id x))))] [(lsimp_op{1}_op{1}^-1 x)]) (eh1_op{1}^-1 b a)) of type (!1builtin_comp2 a b) -> (!1builtin_comp2_op{1} b a). + + $ catt --no-builtins features/cones.catt + [=^.^=] check conecomp(2,1,2) + [=I.I=] valid term builtin_conecomp(2,1,2) of type .4 -> (builtin_comp2 (builtin_comp2 .2 .8) .9). + [=^.^=] check conecomp(3,1,3) + [=I.I=] valid term builtin_conecomp(3,1,3) of type (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .8 (builtin_comp2 .2 [.16])) (assoc .2 .12 .15)) (builtin_comp2 [(builtin_comp2 [.4] [.14])] .15)) -> (!1builtin_comp2 (!1builtin_comp2 .9 (builtin_comp2 .3 [.17])) (assoc .3 .13 .15)). + [=^.^=] check conecomp(3,2,3) + [=I.I=] valid term builtin_conecomp(3,2,3) of type (!1builtin_comp2 .8 (builtin_comp2 [(!1builtin_comp2 .4 .12)] .7)) -> .13. + [=^.^=] check conecomp(3,1,2) + [=I.I=] valid term builtin_conecomp(3,1,2) of type (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .8 (builtin_comp2 .2 [.14])) (assoc .2 .12 .13)) (builtin_comp2 [(builtin_comp2 [.4] .12)] .13)) -> (!1builtin_comp2 (!1builtin_comp2 .9 (builtin_comp2 .3 [.14])) (assoc .3 .12 .13)). + [=^.^=] check conecomp(2,1,3) + [=I.I=] valid term builtin_conecomp(2,1,3) of type (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .6 (builtin_comp2 .2 [.12])) (assoc .2 .8 .11)) (builtin_comp2 [(builtin_comp2 .2 [.10])] .11)) -> (!1builtin_comp2 (!1builtin_comp2 .6 (builtin_comp2 .2 [.13])) (assoc .2 .9 .11)). + [=^.^=] check conecomp(4,1,4) + [=I.I=] valid term builtin_conecomp(4,1,4) of type (!2builtin_comp3 (intch_src (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) (assoc .2 .16 .21) (builtin_comp2 [(builtin_comp2 [.4] [.18])] .21)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) (assoc .2 .16 .21) (builtin_comp2 [(builtin_comp2 [.4] [.18])] .21)) (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) [(assoc [.4] [.18] .21)]) (!1assoc (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) (builtin_comp2 [.4] [(builtin_comp2 [.18] .21)]) (assoc .3 .17 .21)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.12] [_] [(@builtin_comp2_func[(.6,1)] _ _ [.4] _ _ [_] [.24])])] (assoc .3 .17 .21)))]) (intch_tgt .8 (!1builtin_comp2 .11 (builtin_comp2 .3 [.23])) (assoc .3 .17 .21))) -> (!2builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) (assoc .2 .16 .21)) [(builtin_comp2 [[(builtin_comp2 [[.6]] [[.20]])]] .21)]) (!2builtin_comp3 (intch_src (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) (assoc .2 .16 .21) (builtin_comp2 [(builtin_comp2 [.5] [.19])] .21)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) (assoc .2 .16 .21) (builtin_comp2 [(builtin_comp2 [.5] [.19])] .21)) (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) [(assoc [.5] [.19] .21)]) (!1assoc (!1builtin_comp2 .10 (builtin_comp2 .2 [.22])) (builtin_comp2 [.5] [(builtin_comp2 [.19] .21)]) (assoc .3 .17 .21)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.13] [_] [(@builtin_comp2_func[(.6,1)] _ _ [.5] _ _ [_] [.25])])] (assoc .3 .17 .21)))]) (intch_tgt .8 (!1builtin_comp2 .11 (builtin_comp2 .3 [.23])) (assoc .3 .17 .21)))). + [=^.^=] check conecomp(4,2,4) + [=I.I=] valid term builtin_conecomp(4,2,4) of type (!2builtin_comp2 (!1builtin_comp2 .10 [(builtin_comp_1_0_intch .4 .16 .9)]) (!2builtin_comp2 (!1assoc .10 (builtin_comp2 [.4] .9) (builtin_comp2 [.16] .9)) (!1!1builtin_comp2_op{1,2} .20 (!1builtin_comp2_func[(.6,1)]_op{1,2} (builtin_comp2 [.16] .9) .12)))) -> (!2builtin_comp2 (!1builtin_comp2 .10 [(builtin_comp2 [[(!1builtin_comp2 [.6] [.18])]] .9)]) (!2builtin_comp2 (!1builtin_comp2 .10 [(builtin_comp_1_0_intch .5 .17 .9)]) (!2builtin_comp2 (!1assoc .10 (builtin_comp2 [.5] .9) (builtin_comp2 [.17] .9)) (!1!1builtin_comp2_op{1,2} .21 (!1builtin_comp2_func[(.6,1)]_op{1,2} (builtin_comp2 [.17] .9) .13))))). + [=^.^=] check conecomp(4,3,4) + [=I.I=] valid term builtin_conecomp(4,3,4) of type .12 -> (!2builtin_comp2 (!1builtin_comp2 .10 [(builtin_comp2 [[(!2builtin_comp2 .6 .16)]] .9)]) .17). + [=^.^=] check conecomp(4,1,2) + [=I.I=] valid term builtin_conecomp(4,1,2) of type (!2builtin_comp3 (intch_src (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) (assoc .2 .16 .17) (builtin_comp2 [(builtin_comp2 [.4] .16)] .17)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) (assoc .2 .16 .17) (builtin_comp2 [(builtin_comp2 [.4] .16)] .17)) (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) [(assoc [.4] .16 .17)]) (!1assoc (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) (builtin_comp2 [.4] (builtin_comp2 .16 .17)) (assoc .3 .16 .17)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.12] [_] [(builtin_comp2_func[(.8,1)] [.4] .18)])] (assoc .3 .16 .17)))]) (intch_tgt .8 (!1builtin_comp2 .11 (builtin_comp2 .3 [.18])) (assoc .3 .16 .17))) -> (!2builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) (assoc .2 .16 .17)) [(builtin_comp2 [[(builtin_comp2 [[.6]] .16)]] .17)]) (!2builtin_comp3 (intch_src (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) (assoc .2 .16 .17) (builtin_comp2 [(builtin_comp2 [.5] .16)] .17)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) (assoc .2 .16 .17) (builtin_comp2 [(builtin_comp2 [.5] .16)] .17)) (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) [(assoc [.5] .16 .17)]) (!1assoc (!1builtin_comp2 .10 (builtin_comp2 .2 [.18])) (builtin_comp2 [.5] (builtin_comp2 .16 .17)) (assoc .3 .16 .17)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.13] [_] [(builtin_comp2_func[(.8,1)] [.5] .18)])] (assoc .3 .16 .17)))]) (intch_tgt .8 (!1builtin_comp2 .11 (builtin_comp2 .3 [.18])) (assoc .3 .16 .17)))). + [=^.^=] check conecomp(4,1,3) + [=I.I=] valid term builtin_conecomp(4,1,3) of type (!2builtin_comp3 (intch_src (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) (assoc .2 .16 .19) (builtin_comp2 [(builtin_comp2 [.4] [.18])] .19)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) (assoc .2 .16 .19) (builtin_comp2 [(builtin_comp2 [.4] [.18])] .19)) (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) [(assoc [.4] [.18] .19)]) (!1assoc (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) (builtin_comp2 [.4] [(builtin_comp2 [.18] .19)]) (assoc .3 .17 .19)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.12] [_] [(@builtin_comp2_func[(.6,1)] _ _ [.4] _ _ [_] [.22])])] (assoc .3 .17 .19)))]) (intch_tgt .8 (!1builtin_comp2 .11 (builtin_comp2 .3 [.21])) (assoc .3 .17 .19))) -> (!2builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) (assoc .2 .16 .19)) [(builtin_comp2 [[(builtin_comp2 [[.6]] [.18])]] .19)]) (!2builtin_comp3 (intch_src (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) (assoc .2 .16 .19) (builtin_comp2 [(builtin_comp2 [.5] [.18])] .19)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) (assoc .2 .16 .19) (builtin_comp2 [(builtin_comp2 [.5] [.18])] .19)) (!1builtin_comp2 (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) [(assoc [.5] [.18] .19)]) (!1assoc (!1builtin_comp2 .10 (builtin_comp2 .2 [.20])) (builtin_comp2 [.5] [(builtin_comp2 [.18] .19)]) (assoc .3 .17 .19)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.13] [_] [(@builtin_comp2_func[(.6,1)] _ _ [.5] _ _ [_] [.22])])] (assoc .3 .17 .19)))]) (intch_tgt .8 (!1builtin_comp2 .11 (builtin_comp2 .3 [.21])) (assoc .3 .17 .19)))). + [=^.^=] check conecomp(2,1,4) + [=I.I=] valid term builtin_conecomp(2,1,4) of type (!2builtin_comp3 (intch_src (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) (assoc .2 .8 .13) (builtin_comp2 [(builtin_comp2 .2 [.10])] .13)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) (assoc .2 .8 .13) (builtin_comp2 [(builtin_comp2 .2 [.10])] .13)) (!1builtin_comp2 (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) [(assoc .2 [.10] .13)]) (!1assoc (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) (builtin_comp2 .2 [(builtin_comp2 [.10] .13)]) (assoc .2 .9 .13)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ _ .6 [_] [(@builtin_comp2_func[(.6,1)] _ _ .2 _ _ [_] [.16])])] (assoc .2 .9 .13)))]) (intch_tgt .4 (!1builtin_comp2 .6 (builtin_comp2 .2 [.15])) (assoc .2 .9 .13))) -> (!2builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) (assoc .2 .8 .13)) [(builtin_comp2 [[(builtin_comp2 .2 [[.12]])]] .13)]) (!2builtin_comp3 (intch_src (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) (assoc .2 .8 .13) (builtin_comp2 [(builtin_comp2 .2 [.11])] .13)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) (assoc .2 .8 .13) (builtin_comp2 [(builtin_comp2 .2 [.11])] .13)) (!1builtin_comp2 (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) [(assoc .2 [.11] .13)]) (!1assoc (!1builtin_comp2 .6 (builtin_comp2 .2 [.14])) (builtin_comp2 .2 [(builtin_comp2 [.11] .13)]) (assoc .2 .9 .13)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ _ .6 [_] [(@builtin_comp2_func[(.6,1)] _ _ .2 _ _ [_] [.17])])] (assoc .2 .9 .13)))]) (intch_tgt .4 (!1builtin_comp2 .6 (builtin_comp2 .2 [.15])) (assoc .2 .9 .13)))). + [=^.^=] check conecomp(3,1,4) + [=I.I=] valid term builtin_conecomp(3,1,4) of type (!2builtin_comp3 (intch_src (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) (assoc .2 .12 .17) (builtin_comp2 [(builtin_comp2 [.4] [.14])] .17)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) (assoc .2 .12 .17) (builtin_comp2 [(builtin_comp2 [.4] [.14])] .17)) (!1builtin_comp2 (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) [(assoc [.4] [.14] .17)]) (!1assoc (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) (builtin_comp2 [.4] [(builtin_comp2 [.14] .17)]) (assoc .3 .13 .17)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.10] [_] [(@builtin_comp2_func[(.6,1)] _ _ [.4] _ _ [_] [.20])])] (assoc .3 .13 .17)))]) (intch_tgt .6 (!1builtin_comp2 .9 (builtin_comp2 .3 [.19])) (assoc .3 .13 .17))) -> (!2builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) (assoc .2 .12 .17)) [(builtin_comp2 [[(builtin_comp2 [.4] [[.16]])]] .17)]) (!2builtin_comp3 (intch_src (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) (assoc .2 .12 .17) (builtin_comp2 [(builtin_comp2 [.4] [.15])] .17)) (!1builtin_comp2_red [(!2builtin_comp4 (!1builtin_assc (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) (assoc .2 .12 .17) (builtin_comp2 [(builtin_comp2 [.4] [.15])] .17)) (!1builtin_comp2 (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) [(assoc [.4] [.15] .17)]) (!1assoc (!1builtin_comp2 .8 (builtin_comp2 .2 [.18])) (builtin_comp2 [.4] [(builtin_comp2 [.15] .17)]) (assoc .3 .13 .17)) (!1builtin_comp2 [(@!1builtin_comp2 _ _ _ [_] [.10] [_] [(@builtin_comp2_func[(.6,1)] _ _ [.4] _ _ [_] [.21])])] (assoc .3 .13 .17)))]) (intch_tgt .6 (!1builtin_comp2 .9 (builtin_comp2 .3 [.19])) (assoc .3 .13 .17)))). + [=^.^=] check conecomp(4,2,3) + [=I.I=] valid term builtin_conecomp(4,2,3) of type (!2builtin_comp2 (!1builtin_comp2 .10 [(builtin_comp_1_0_intch .4 .16 .9)]) (!2builtin_comp2 (!1assoc .10 (builtin_comp2 [.4] .9) (builtin_comp2 [.16] .9)) (!1!1builtin_comp2_op{1,2} .18 (!1builtin_comp2_func[(.6,1)]_op{1,2} (builtin_comp2 [.16] .9) .12)))) -> (!2builtin_comp2 (!1builtin_comp2 .10 [(builtin_comp2 [[(!1builtin_comp2 [.6] .16)]] .9)]) (!2builtin_comp2 (!1builtin_comp2 .10 [(builtin_comp_1_0_intch .5 .16 .9)]) (!2builtin_comp2 (!1assoc .10 (builtin_comp2 [.5] .9) (builtin_comp2 [.16] .9)) (!1!1builtin_comp2_op{1,2} .18 (!1builtin_comp2_func[(.6,1)]_op{1,2} (builtin_comp2 [.16] .9) .13))))). + [=^.^=] check conecomp(3,2,4) + [=I.I=] valid term builtin_conecomp(3,2,4) of type (!2builtin_comp2 (!1builtin_comp2 .8 [(builtin_comp_1_0_intch .4 .12 .7)]) (!2builtin_comp2 (!1assoc .8 (builtin_comp2 [.4] .7) (builtin_comp2 [.12] .7)) (!1!1builtin_comp2_op{1,2} .16 (!1builtin_comp2_func[(.6,1)]_op{1,2} (builtin_comp2 [.12] .7) .10)))) -> (!2builtin_comp2 (!1builtin_comp2 .8 [(builtin_comp2 [[(!1builtin_comp2 .4 [.14])]] .7)]) (!2builtin_comp2 (!1builtin_comp2 .8 [(builtin_comp_1_0_intch .4 .13 .7)]) (!2builtin_comp2 (!1assoc .8 (builtin_comp2 [.4] .7) (builtin_comp2 [.13] .7)) (!1!1builtin_comp2_op{1,2} .17 (!1builtin_comp2_func[(.6,1)]_op{1,2} (builtin_comp2 [.13] .7) .10))))). + + $ catt --no-builtins features/cylinders.catt + [=^.^=] check cylcomp(2,1,2) + [=I.I=] valid term builtin_conecomp(2,1,2) of type (builtin_comp2 (builtin_comp2 .2 .10) .13) -> (builtin_comp2 .6 (builtin_comp2 .5 .12)). + [=^.^=] check cylcomp(3,1,3) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.26,1) (.22,1) (.18,1) (.14,1) (.9,1) (.4,1)]_op{3} of type (!1builtin_comp2 (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .18)] .23) (!1builtin_comp3 (intch_src_op{3} .3 .17 .23) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .23) (builtin_comp2_op{2} .3 [.25]) (assoc_op{3} .3 .11 .21) (builtin_comp2_op{2} [.13] .21) (builtin_assc_op{3} .10 .8 .21))) (intch_tgt_op{3} .10 .8 .21))) -> (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .16 .23) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .23) (builtin_comp2_op{2} .2 [.24]) (assoc_op{3} .2 .11 .20) (builtin_comp2_op{2} [.12] .20) (builtin_assc_op{3} .10 .7 .20))) (intch_tgt_op{3} .10 .7 .20)) (builtin_comp2_op{2} .10 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .9 .22)])). + [=^.^=] check cylcomp(3,2,3) + [=I.I=] valid term builtin_conecomp(3,2,3) of type (!1builtin_comp2 (builtin_comp2 [(!1builtin_comp2 .4 .16)] .11) .19) -> (!1builtin_comp2 .12 (builtin_comp2_func[(.4,1)]_op{1} (!1builtin_comp2 .9 .18) .10)). + [=^.^=] check cylcomp(3,1,2) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.14,1) (.9,1) (.4,1)]_op{3} of type (!1builtin_comp2 (builtin_comp2_op{2} [(builtin_comp2_op{2} [.4] .16)] .19) (!1builtin_comp3 (intch_src_op{3} .3 .16 .19) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .16 .19) (builtin_comp2_op{2} .3 [.20]) (assoc_op{3} .3 .11 .18) (builtin_comp2_op{2} [.13] .18) (builtin_assc_op{3} .10 .8 .18))) (intch_tgt_op{3} .10 .8 .18))) -> (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .16 .19) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .19) (builtin_comp2_op{2} .2 [.20]) (assoc_op{3} .2 .11 .18) (builtin_comp2_op{2} [.12] .18) (builtin_assc_op{3} .10 .7 .18))) (intch_tgt_op{3} .10 .7 .18)) (builtin_comp2_op{2} .10 [(builtin_comp2_op{2} [.9] .18)])). + [=^.^=] check cylcomp(2,1,3) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.20,1) (.16,1) (.12,1)]_op{3} of type (!1builtin_comp2 (builtin_comp2_op{2} [(builtin_comp2_op{2} .2 [.12])] .17) (!1builtin_comp3 (intch_src_op{3} .2 .11 .17) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .17) (builtin_comp2_op{2} .2 [.19]) (assoc_op{3} .2 .7 .15) (builtin_comp2_op{2} [.8] .15) (builtin_assc_op{3} .6 .5 .15))) (intch_tgt_op{3} .6 .5 .15))) -> (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .10 .17) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .17) (builtin_comp2_op{2} .2 [.18]) (assoc_op{3} .2 .7 .14) (builtin_comp2_op{2} [.8] .14) (builtin_assc_op{3} .6 .5 .14))) (intch_tgt_op{3} .6 .5 .14)) (builtin_comp2_op{2} .6 [(builtin_comp2_op{2} .5 [.16])])). + [=^.^=] check cylcomp(4,1,4) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.26,1) (.22,1) (.18,1) (.14,1) (.9,1) (.4,1)]_op{3}_func[(.38,1) (.32,1) (.26,1) (.20,1) (.13,1) (.6,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (builtin_comp2_func[(.4,1) (.8,1)]_op{3} [.6] [.26]) .33)] (!1builtin_comp3 (intch_src_op{3} .3 .23 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29))) (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .5 .25)] .33) (intch_src_op{3} .3 .23 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .5 .25)] .33) (intch_src_op{3} .3 .23 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp3 [(intch_src_func[(.4,1) (.8,1)]_op{3} .5 .25 .33)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .5 .25)] .33)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .33) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1) (.8,1)]_op{3} .5 .25 .33) (builtin_comp2_func[(.6,1)][(.2~,1) (.4~,1) (.5~,1) (.6~,1)]_op{3} .5 .37) (assoc_func[(.4,1) (.10,1)]_op{3} .5 .15 .31) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1) (.6~,1)]_op{3} .19 .31) (builtin_assc_func[(.6,1) (.10,1)]_op{3} .14 .12 .31)))] (intch_tgt_op{3} .14 .10 .29)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .12 .31)])) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) [(intch_tgt_func[(.6,1) (.10,1)]_op{3} .14 .12 .31)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) (intch_tgt_op{3} .14 .9 .28) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .12 .31)])))) (intch_src_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) (intch_tgt_op{3} .14 .9 .28) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .12 .31)])))) -> (!2builtin_comp2 (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .24)] .33) (intch_src_op{3} .3 .23 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .24)] .33) (intch_src_op{3} .3 .23 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp3 [(intch_src_func[(.4,1) (.8,1)]_op{3} .4 .24 .33)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .24)] .33)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .33) (builtin_comp2_op{2} .3 [.35]) (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29))) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .33) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1) (.8,1)]_op{3} .4 .24 .33) (builtin_comp2_func[(.6,1)][(.2~,1) (.4~,1) (.5~,1) (.6~,1)]_op{3} .4 .36) (assoc_func[(.4,1) (.10,1)]_op{3} .4 .15 .30) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1) (.6~,1)]_op{3} .18 .30) (builtin_assc_func[(.6,1) (.10,1)]_op{3} .14 .11 .30)))] (intch_tgt_op{3} .14 .10 .29)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .11 .30)])) (intch_tgt_op{3} .14 .10 .29)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) [(intch_tgt_func[(.6,1) (.10,1)]_op{3} .14 .11 .30)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) (intch_tgt_op{3} .14 .9 .28) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .11 .30)])))) (intch_src_op{3} (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) (intch_tgt_op{3} .14 .9 .28) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .11 .30)]))) (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .22 .33) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .33) (builtin_comp2_op{2} .2 [.34]) (assoc_op{3} .2 .15 .28) (builtin_comp2_op{2} [.16] .28) (builtin_assc_op{3} .14 .9 .28))) (intch_tgt_op{3} .14 .9 .28)) [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .14 (builtin_comp2_func[(.4,1) (.8,1)]_op{3} [.13] [.32]))])). + [=^.^=] check cylcomp(4,2,4) + [=I.I=] valid term builtin_conecomp(3,2,3)_func[(.32,1) (.28,1) (.24,1) (.20,1) (.13,1) (.6,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (!1builtin_comp2 [.6] [.24]) .15)] .29) (!2builtin_comp3 (!1builtin_comp2 [(builtin_comp_1_0_intch_op{4} .5 .23 .15)] .29) (!2builtin_comp3 (!1intch_src (builtin_comp2_op{2} [.5] .15) (builtin_comp2_op{2} [.23] .15) .29) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp5 (!1builtin_assc (builtin_comp2_op{2} [.5] .15) (builtin_comp2_op{2} [.23] .15) .29) (!1builtin_comp2 (builtin_comp2_op{2} [.5] .15) [.31]) (!1assoc (builtin_comp2_op{2} [.5] .15) .17 (builtin_comp2_op{2} .14 [.27])) (!1builtin_comp2 [.19] (builtin_comp2_op{2} .14 [.27])) (!1builtin_assc .16 (builtin_comp2_op{2} .14 [.12]) (builtin_comp2_op{2} .14 [.27])))) (!1intch_tgt .16 (builtin_comp2_op{2} .14 [.12]) (builtin_comp2_op{2} .14 [.27]))) (!1builtin_comp2 .16 [(builtin_comp_1_0_intch_op{1}^-1 .14 .12 .27)]))) -> (!2builtin_comp2 (!2builtin_comp3 (!1builtin_comp2 [(builtin_comp_1_0_intch_op{4} .4 .22 .15)] .29) (!2builtin_comp3 (!1intch_src (builtin_comp2_op{2} [.4] .15) (builtin_comp2_op{2} [.22] .15) .29) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp5 (!1builtin_assc (builtin_comp2_op{2} [.4] .15) (builtin_comp2_op{2} [.22] .15) .29) (!1builtin_comp2 (builtin_comp2_op{2} [.4] .15) [.30]) (!1assoc (builtin_comp2_op{2} [.4] .15) .17 (builtin_comp2_op{2} .14 [.26])) (!1builtin_comp2 [.18] (builtin_comp2_op{2} .14 [.26])) (!1builtin_assc .16 (builtin_comp2_op{2} .14 [.11]) (builtin_comp2_op{2} .14 [.26])))) (!1intch_tgt .16 (builtin_comp2_op{2} .14 [.11]) (builtin_comp2_op{2} .14 [.26]))) (!1builtin_comp2 .16 [(builtin_comp_1_0_intch_op{1}^-1 .14 .11 .26)])) (!1builtin_comp2 .16 [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .14 (!1builtin_comp2 [.13] [.28]))])). + [=^.^=] check cylcomp(4,3,4) + [=I.I=] valid term builtin_conecomp(4,3,4) of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2 [[(!2builtin_comp2 .6 .22)]] .15)] .17) .25) -> (!2builtin_comp2 .18 (!1builtin_comp2 .16 [(builtin_comp2_func[(.6,2)]_op{1} (!2builtin_comp2 .13 .24) .14)])). + [=^.^=] check cylcomp(4,1,2) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.14,1) (.9,1) (.4,1)]_op{3}_func[(.20,1) (.13,1) (.6,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} .6 .22) .25)] (!1builtin_comp3 (intch_src_op{3} .3 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24))) (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} [.5] .22)] .25) (intch_src_op{3} .3 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} [.5] .22)] .25) (intch_src_op{3} .3 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp3 [(intch_src_func[(.4,1)]_op{3} .5 .22 .25)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} [.5] .22)] .25)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .25) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1)]_op{3} .5 .22 .25) (builtin_comp2_func[(.8,1)][(.4,1)]_op{3} .5 .26) (assoc_func[(.4,1)]_op{3} .5 .15 .24) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} .19 .24) (builtin_assc_func[(.6,1)]_op{3} .14 .12 .24)))] (intch_tgt_op{3} .14 .10 .24)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .14 [(builtin_comp2_op{2} [.12] .24)])) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) [(intch_tgt_func[(.6,1)]_op{3} .14 .12 .24)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) (intch_tgt_op{3} .14 .9 .24) (builtin_comp2_op{2} .14 [(builtin_comp2_op{2} [.12] .24)])))) (intch_src_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) (intch_tgt_op{3} .14 .9 .24) (builtin_comp2_op{2} .14 [(builtin_comp2_op{2} [.12] .24)])))) -> (!2builtin_comp2 (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} [.4] .22)] .25) (intch_src_op{3} .3 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} [.4] .22)] .25) (intch_src_op{3} .3 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp3 [(intch_src_func[(.4,1)]_op{3} .4 .22 .25)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} [.4] .22)] .25)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .22 .25) (builtin_comp2_op{2} .3 [.26]) (assoc_op{3} .3 .15 .24) (builtin_comp2_op{2} [.17] .24) (builtin_assc_op{3} .14 .10 .24))) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .25) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1)]_op{3} .4 .22 .25) (builtin_comp2_func[(.8,1)][(.4,1)]_op{3} .4 .26) (assoc_func[(.4,1)]_op{3} .4 .15 .24) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} .18 .24) (builtin_assc_func[(.6,1)]_op{3} .14 .11 .24)))] (intch_tgt_op{3} .14 .10 .24)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .14 [(builtin_comp2_op{2} [.11] .24)])) (intch_tgt_op{3} .14 .10 .24)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) [(intch_tgt_func[(.6,1)]_op{3} .14 .11 .24)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) (intch_tgt_op{3} .14 .9 .24) (builtin_comp2_op{2} .14 [(builtin_comp2_op{2} [.11] .24)])))) (intch_src_op{3} (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) (intch_tgt_op{3} .14 .9 .24) (builtin_comp2_op{2} .14 [(builtin_comp2_op{2} [.11] .24)]))) (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .22 .25) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .25) (builtin_comp2_op{2} .2 [.26]) (assoc_op{3} .2 .15 .24) (builtin_comp2_op{2} [.16] .24) (builtin_assc_op{3} .14 .9 .24))) (intch_tgt_op{3} .14 .9 .24)) [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .14 (builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} .13 .24))])). + [=^.^=] check cylcomp(4,1,3) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.26,1) (.22,1) (.18,1) (.14,1) (.9,1) (.4,1)]_op{3}_func[(.20,1) (.13,1) (.6,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (builtin_comp2_func[(.6,1)]_red_func[(.6,1)]_op{3} .6 .24) .29)] (!1builtin_comp3 (intch_src_op{3} .3 .23 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27))) (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .5 .24)] .29) (intch_src_op{3} .3 .23 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .5 .24)] .29) (intch_src_op{3} .3 .23 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp3 [(intch_src_func[(.4,1) (.8,1)]_op{3} .5 .24 .29)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .5 .24)] .29)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .29) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1) (.8,1)]_op{3} .5 .24 .29) (builtin_comp2_func[(.6,1)][(.2~,1) (.4~,1) (.5~,1) (.6~,1)]_op{3} .5 .32) (assoc_func[(.4,1) (.10,1)]_op{3} .5 .15 .28) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1) (.6~,1)]_op{3} .19 .28) (builtin_assc_func[(.6,1) (.10,1)]_op{3} .14 .12 .28)))] (intch_tgt_op{3} .14 .10 .27)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .12 .28)])) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) [(intch_tgt_func[(.6,1) (.10,1)]_op{3} .14 .12 .28)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) (intch_tgt_op{3} .14 .9 .26) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .12 .28)])))) (intch_src_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) (intch_tgt_op{3} .14 .9 .26) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .12 .28)])))) -> (!2builtin_comp2 (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .24)] .29) (intch_src_op{3} .3 .23 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .24)] .29) (intch_src_op{3} .3 .23 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp3 [(intch_src_func[(.4,1) (.8,1)]_op{3} .4 .24 .29)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .24)] .29)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .23 .29) (builtin_comp2_op{2} .3 [.31]) (assoc_op{3} .3 .15 .27) (builtin_comp2_op{2} [.17] .27) (builtin_assc_op{3} .14 .10 .27))) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .29) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1) (.8,1)]_op{3} .4 .24 .29) (builtin_comp2_func[(.6,1)][(.2~,1) (.4~,1) (.5~,1) (.6~,1)]_op{3} .4 .32) (assoc_func[(.4,1) (.10,1)]_op{3} .4 .15 .28) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1) (.6~,1)]_op{3} .18 .28) (builtin_assc_func[(.6,1) (.10,1)]_op{3} .14 .11 .28)))] (intch_tgt_op{3} .14 .10 .27)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .11 .28)])) (intch_tgt_op{3} .14 .10 .27)) (!1builtin_comp3 (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) [(intch_tgt_func[(.6,1) (.10,1)]_op{3} .14 .11 .28)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) (intch_tgt_op{3} .14 .9 .26) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .11 .28)])))) (intch_src_op{3} (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) (intch_tgt_op{3} .14 .9 .26) (builtin_comp2_op{2} .14 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .11 .28)]))) (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .22 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .22 .29) (builtin_comp2_op{2} .2 [.30]) (assoc_op{3} .2 .15 .26) (builtin_comp2_op{2} [.16] .26) (builtin_assc_op{3} .14 .9 .26))) (intch_tgt_op{3} .14 .9 .26)) [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .14 (builtin_comp2_func[(.6,1)]_red_func[(.6,1)]_op{3} .13 .28))])). + [=^.^=] check cylcomp(2,1,4) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.20,1) (.16,1) (.12,1)]_op{3}_func[(.26,1) (.20,1) (.14,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .2 .14) .21)] (!1builtin_comp3 (intch_src_op{3} .2 .11 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17))) (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} .2 [.13])] .21) (intch_src_op{3} .2 .11 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} .2 [.13])] .21) (intch_src_op{3} .2 .11 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp3 [(intch_src_func[(.6,1)]_op{3} .2 .13 .21)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} .2 [.13])] .21)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp3 (intch_src_op{3} .2 .10 .21) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.6,1)]_op{3} .2 .13 .21) (builtin_comp2_func[(.6,1)][(.4~,1) (.5~,1) (.6~,1)]_op{3} .2 .25) (assoc_func[(.8,1)]_op{3} .2 .7 .19) (builtin_comp2_func[(.4,1)][(.8,1)]_op{3} .8 .19) (builtin_assc_func[(.8,1)]_op{3} .6 .5 .19)))] (intch_tgt_op{3} .6 .5 .17)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .6 [(builtin_comp2_op{2} .5 [.19])])) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp3 (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) [(intch_tgt_func[(.8,1)]_op{3} .6 .5 .19)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) (intch_tgt_op{3} .6 .5 .16) (builtin_comp2_op{2} .6 [(builtin_comp2_op{2} .5 [.19])])))) (intch_src_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) (intch_tgt_op{3} .6 .5 .16) (builtin_comp2_op{2} .6 [(builtin_comp2_op{2} .5 [.19])])))) -> (!2builtin_comp2 (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} .2 [.12])] .21) (intch_src_op{3} .2 .11 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} .2 [.12])] .21) (intch_src_op{3} .2 .11 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp3 [(intch_src_func[(.6,1)]_op{3} .2 .12 .21)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_op{2} .2 [.12])] .21)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .11 .21) (builtin_comp2_op{2} .2 [.23]) (assoc_op{3} .2 .7 .17) (builtin_comp2_op{2} [.8] .17) (builtin_assc_op{3} .6 .5 .17))) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp3 (intch_src_op{3} .2 .10 .21) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.6,1)]_op{3} .2 .12 .21) (builtin_comp2_func[(.6,1)][(.4~,1) (.5~,1) (.6~,1)]_op{3} .2 .24) (assoc_func[(.8,1)]_op{3} .2 .7 .18) (builtin_comp2_func[(.4,1)][(.8,1)]_op{3} .8 .18) (builtin_assc_func[(.8,1)]_op{3} .6 .5 .18)))] (intch_tgt_op{3} .6 .5 .17)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .6 [(builtin_comp2_op{2} .5 [.18])])) (intch_tgt_op{3} .6 .5 .17)) (!1builtin_comp3 (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) [(intch_tgt_func[(.8,1)]_op{3} .6 .5 .18)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) (intch_tgt_op{3} .6 .5 .16) (builtin_comp2_op{2} .6 [(builtin_comp2_op{2} .5 [.18])])))) (intch_src_op{3} (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) (intch_tgt_op{3} .6 .5 .16) (builtin_comp2_op{2} .6 [(builtin_comp2_op{2} .5 [.18])]))) (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .10 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .10 .21) (builtin_comp2_op{2} .2 [.22]) (assoc_op{3} .2 .7 .16) (builtin_comp2_op{2} [.8] .16) (builtin_assc_op{3} .6 .5 .16))) (intch_tgt_op{3} .6 .5 .16)) [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .6 (builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .5 .20))])). + [=^.^=] check cylcomp(3,1,4) + [=I.I=] valid term builtin_conecomp(2,1,2)_func[(.26,1) (.22,1) (.18,1) (.14,1) (.9,1) (.4,1)]_op{3}_func[(.32,1) (.26,1) (.20,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (builtin_comp2_func[(.6,1)]_red_func[(.10,1)]_op{3} .4 .20) .27)] (!1builtin_comp3 (intch_src_op{3} .3 .17 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23))) (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .19)] .27) (intch_src_op{3} .3 .17 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .19)] .27) (intch_src_op{3} .3 .17 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp3 [(intch_src_func[(.4,1) (.8,1)]_op{3} .4 .19 .27)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .19)] .27)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp3 (intch_src_op{3} .2 .16 .27) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1) (.8,1)]_op{3} .4 .19 .27) (builtin_comp2_func[(.6,1)][(.2~,1) (.4~,1) (.5~,1) (.6~,1)]_op{3} .4 .31) (assoc_func[(.4,1) (.10,1)]_op{3} .4 .11 .25) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1) (.6~,1)]_op{3} .14 .25) (builtin_assc_func[(.6,1) (.10,1)]_op{3} .10 .9 .25)))] (intch_tgt_op{3} .10 .8 .23)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .10 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .9 .25)])) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp3 (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) [(intch_tgt_func[(.6,1) (.10,1)]_op{3} .10 .9 .25)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) (intch_tgt_op{3} .10 .7 .22) (builtin_comp2_op{2} .10 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .9 .25)])))) (intch_src_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) (intch_tgt_op{3} .10 .7 .22) (builtin_comp2_op{2} .10 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .9 .25)])))) -> (!2builtin_comp2 (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .18)] .27) (intch_src_op{3} .3 .17 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .18)] .27) (intch_src_op{3} .3 .17 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp3 [(intch_src_func[(.4,1) (.8,1)]_op{3} .4 .18 .27)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .4 .18)] .27)) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .3 .17 .27) (builtin_comp2_op{2} .3 [.29]) (assoc_op{3} .3 .11 .23) (builtin_comp2_op{2} [.13] .23) (builtin_assc_op{3} .10 .8 .23))) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp3 (intch_src_op{3} .2 .16 .27) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (builtin_assc_func[(.4,1) (.8,1)]_op{3} .4 .18 .27) (builtin_comp2_func[(.6,1)][(.2~,1) (.4~,1) (.5~,1) (.6~,1)]_op{3} .4 .30) (assoc_func[(.4,1) (.10,1)]_op{3} .4 .11 .24) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1) (.6~,1)]_op{3} .14 .24) (builtin_assc_func[(.6,1) (.10,1)]_op{3} .10 .9 .24)))] (intch_tgt_op{3} .10 .8 .23)) (!1builtin_assc_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} .10 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .9 .24)])) (intch_tgt_op{3} .10 .8 .23)) (!1builtin_comp3 (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) [(intch_tgt_func[(.6,1) (.10,1)]_op{3} .10 .9 .24)]) (!1builtin_assc_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) (intch_tgt_op{3} .10 .7 .22) (builtin_comp2_op{2} .10 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .9 .24)])))) (intch_src_op{3} (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) (intch_tgt_op{3} .10 .7 .22) (builtin_comp2_op{2} .10 [(builtin_comp2_func[(.4,1) (.8,1)]_op{3} .9 .24)]))) (!1builtin_comp2 (!1builtin_comp3 (intch_src_op{3} .2 .16 .27) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (builtin_assc_op{3} .2 .16 .27) (builtin_comp2_op{2} .2 [.28]) (assoc_op{3} .2 .11 .22) (builtin_comp2_op{2} [.12] .22) (builtin_assc_op{3} .10 .7 .22))) (intch_tgt_op{3} .10 .7 .22)) [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .10 (builtin_comp2_func[(.6,1)]_red_func[(.10,1)]_op{3} .9 .26))])). + [=^.^=] check cylcomp(4,2,3) + [=I.I=] valid term builtin_conecomp(3,2,3)_func[(.20,1) (.13,1) (.6,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (!1builtin_comp2 [.6] .22) .15)] .25) (!2builtin_comp3 (!1builtin_comp2 [(builtin_comp_1_0_intch_op{4} .5 .22 .15)] .25) (!2builtin_comp3 (!1intch_src (builtin_comp2_op{2} [.5] .15) (builtin_comp2_op{2} [.22] .15) .25) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp5 (!1builtin_assc (builtin_comp2_op{2} [.5] .15) (builtin_comp2_op{2} [.22] .15) .25) (!1builtin_comp2 (builtin_comp2_op{2} [.5] .15) [.26]) (!1assoc (builtin_comp2_op{2} [.5] .15) .17 (builtin_comp2_op{2} .14 [.24])) (!1builtin_comp2 [.19] (builtin_comp2_op{2} .14 [.24])) (!1builtin_assc .16 (builtin_comp2_op{2} .14 [.12]) (builtin_comp2_op{2} .14 [.24])))) (!1intch_tgt .16 (builtin_comp2_op{2} .14 [.12]) (builtin_comp2_op{2} .14 [.24]))) (!1builtin_comp2 .16 [(builtin_comp_1_0_intch_op{1}^-1 .14 .12 .24)]))) -> (!2builtin_comp2 (!2builtin_comp3 (!1builtin_comp2 [(builtin_comp_1_0_intch_op{4} .4 .22 .15)] .25) (!2builtin_comp3 (!1intch_src (builtin_comp2_op{2} [.4] .15) (builtin_comp2_op{2} [.22] .15) .25) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp5 (!1builtin_assc (builtin_comp2_op{2} [.4] .15) (builtin_comp2_op{2} [.22] .15) .25) (!1builtin_comp2 (builtin_comp2_op{2} [.4] .15) [.26]) (!1assoc (builtin_comp2_op{2} [.4] .15) .17 (builtin_comp2_op{2} .14 [.24])) (!1builtin_comp2 [.18] (builtin_comp2_op{2} .14 [.24])) (!1builtin_assc .16 (builtin_comp2_op{2} .14 [.11]) (builtin_comp2_op{2} .14 [.24])))) (!1intch_tgt .16 (builtin_comp2_op{2} .14 [.11]) (builtin_comp2_op{2} .14 [.24]))) (!1builtin_comp2 .16 [(builtin_comp_1_0_intch_op{1}^-1 .14 .11 .24)])) (!1builtin_comp2 .16 [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .14 (!1builtin_comp2 [.13] .24))])). + [=^.^=] check cylcomp(3,2,4) + [=I.I=] valid term builtin_conecomp(3,2,3)_func[(.26,1) (.22,1) (.18,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} (!1builtin_comp2 .4 [.18]) .11)] .23) (!2builtin_comp3 (!1builtin_comp2 [(builtin_comp_1_0_intch_op{4} .4 .17 .11)] .23) (!2builtin_comp3 (!1intch_src (builtin_comp2_op{2} [.4] .11) (builtin_comp2_op{2} [.17] .11) .23) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp5 (!1builtin_assc (builtin_comp2_op{2} [.4] .11) (builtin_comp2_op{2} [.17] .11) .23) (!1builtin_comp2 (builtin_comp2_op{2} [.4] .11) [.25]) (!1assoc (builtin_comp2_op{2} [.4] .11) .13 (builtin_comp2_op{2} .10 [.21])) (!1builtin_comp2 [.14] (builtin_comp2_op{2} .10 [.21])) (!1builtin_assc .12 (builtin_comp2_op{2} .10 [.9]) (builtin_comp2_op{2} .10 [.21])))) (!1intch_tgt .12 (builtin_comp2_op{2} .10 [.9]) (builtin_comp2_op{2} .10 [.21]))) (!1builtin_comp2 .12 [(builtin_comp_1_0_intch_op{1}^-1 .10 .9 .21)]))) -> (!2builtin_comp2 (!2builtin_comp3 (!1builtin_comp2 [(builtin_comp_1_0_intch_op{4} .4 .16 .11)] .23) (!2builtin_comp3 (!1intch_src (builtin_comp2_op{2} [.4] .11) (builtin_comp2_op{2} [.16] .11) .23) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp5 (!1builtin_assc (builtin_comp2_op{2} [.4] .11) (builtin_comp2_op{2} [.16] .11) .23) (!1builtin_comp2 (builtin_comp2_op{2} [.4] .11) [.24]) (!1assoc (builtin_comp2_op{2} [.4] .11) .13 (builtin_comp2_op{2} .10 [.20])) (!1builtin_comp2 [.14] (builtin_comp2_op{2} .10 [.20])) (!1builtin_assc .12 (builtin_comp2_op{2} .10 [.9]) (builtin_comp2_op{2} .10 [.20])))) (!1intch_tgt .12 (builtin_comp2_op{2} .10 [.9]) (builtin_comp2_op{2} .10 [.20]))) (!1builtin_comp2 .12 [(builtin_comp_1_0_intch_op{1}^-1 .10 .9 .20)])) (!1builtin_comp2 .12 [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} .10 (!1builtin_comp2 .9 [.22]))])). + [=^.^=] check cylstack(2) + [=I.I=] valid term builtin_cylstack of type (builtin_comp2_op{2} .2 (builtin_comp2_op{2} .7 .13)) -> (builtin_comp2_op{2} (builtin_comp2_op{2} .6 .12) .11). + [=^.^=] check cylstack(3) + [=I.I=] valid term builtin_cylstack_func[(.24,1) (.19,1) (.14,1) (.9,1) (.4,1)]_op{3} of type (!1builtin_comp2 (builtin_comp2_op{2} [.4] (builtin_comp2_op{2} .11 .21)) (!1builtin_comp3 (intch_tgt_op{2} .3 .11 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .11 .21) (builtin_comp2_op{2} [.13] .21) (builtin_assc_op{3} .10 .8 .21) (builtin_comp2_op{2} .10 [.23]) (assoc_op{3} .10 .20 .18))) (intch_src_op{2} .10 .20 .18))) -> (!1builtin_comp2 (!1builtin_comp3 (intch_tgt_op{2} .2 .11 .21) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .11 .21) (builtin_comp2_op{2} [.12] .21) (builtin_assc_op{3} .10 .7 .21) (builtin_comp2_op{2} .10 [.22]) (assoc_op{3} .10 .20 .17))) (intch_src_op{2} .10 .20 .17)) (builtin_comp2_op{2} (builtin_comp2_op{2} .10 .20) [.19])). + [=^.^=] check cylstack(4) + [=I.I=] valid term builtin_cylstack_func[(.24,1) (.19,1) (.14,1) (.9,1) (.4,1)]_op{3}_func[(.34,1) (.27,1) (.20,1) (.13,1) (.6,1)]_op{4} of type (!2builtin_comp2 (!1builtin_comp2 [(builtin_comp2_func[(.4,1)]_red_func[(.6,1)]_op{3} .6 (builtin_comp2_op{2} .15 .29))] (!1builtin_comp3 (intch_tgt_op{2} .3 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24))) (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [.5] (builtin_comp2_op{2} .15 .29)) (intch_tgt_op{2} .3 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [.5] (builtin_comp2_op{2} .15 .29)) (intch_tgt_op{2} .3 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp3 [(intch_tgt_op{2}_func[(.4,1)]_op{3} .5 .15 .29)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_assc_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [.5] (builtin_comp2_op{2} .15 .29))) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp3 (intch_tgt_op{2} .2 .15 .29) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (assoc_func[(.4,1)]_op{3} .5 .15 .29) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} .19 .29) (builtin_assc_func[(.6,1)]_op{3} .14 .12 .29) (builtin_comp2_func[(.6,1)][(.4~,1) (.5~,1) (.6~,1)]_op{3} .14 .33) (assoc_func[(.8,1)]_op{3} .14 .28 .26)))] (intch_src_op{2} .14 .28 .24)) (!1builtin_assc_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} (builtin_comp2_op{2} .14 .28) [.26])) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp3 (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) [(intch_src_op{2}_func[(.8,1)]_op{3} .14 .28 .26)]) (!1builtin_assc_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) (intch_src_op{2} .14 .28 .23) (builtin_comp2_op{2} (builtin_comp2_op{2} .14 .28) [.26])))) (intch_src_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) (intch_src_op{2} .14 .28 .23) (builtin_comp2_op{2} (builtin_comp2_op{2} .14 .28) [.26])))) -> (!2builtin_comp2 (!2builtin_comp3 (intch_tgt_op{3} (builtin_comp2_op{2} [.4] (builtin_comp2_op{2} .15 .29)) (intch_tgt_op{2} .3 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp5_red_func[(.6,1)]_op{3} (!2builtin_comp7 (!1builtin_assc_op{3} (builtin_comp2_op{2} [.4] (builtin_comp2_op{2} .15 .29)) (intch_tgt_op{2} .3 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp3 [(intch_tgt_op{2}_func[(.4,1)]_op{3} .4 .15 .29)] (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_assc_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} [.4] (builtin_comp2_op{2} .15 .29))) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .3 .15 .29) (builtin_comp2_op{2} [.17] .29) (builtin_assc_op{3} .14 .10 .29) (builtin_comp2_op{2} .14 [.31]) (assoc_op{3} .14 .28 .24))) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp3 (intch_tgt_op{2} .2 .15 .29) [(builtin_comp2_red_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} (!1builtin_comp5_func[(.2~,1) (.3~,1) (.4~,1) (.5~,1) (.6~,1) (.7~,1) (.8~,1) (.9~,1) (.10~,1) (.11~,1) (.12~,1)]_op{3} (assoc_func[(.4,1)]_op{3} .4 .15 .29) (builtin_comp2_func[(.4,1)][(.2~,1) (.3~,1) (.4~,1)]_op{3} .18 .29) (builtin_assc_func[(.6,1)]_op{3} .14 .11 .29) (builtin_comp2_func[(.6,1)][(.4~,1) (.5~,1) (.6~,1)]_op{3} .14 .32) (assoc_func[(.8,1)]_op{3} .14 .28 .25)))] (intch_src_op{2} .14 .28 .24)) (!1builtin_assc_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) (builtin_comp2_red_func[(.4,1)]_op{3} (builtin_comp2_op{2} (builtin_comp2_op{2} .14 .28) [.25])) (intch_src_op{2} .14 .28 .24)) (!1builtin_comp3 (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) [(intch_src_op{2}_func[(.8,1)]_op{3} .14 .28 .25)]) (!1builtin_assc_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) (intch_src_op{2} .14 .28 .23) (builtin_comp2_op{2} (builtin_comp2_op{2} .14 .28) [.25])))) (intch_src_op{3} (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) (intch_src_op{2} .14 .28 .23) (builtin_comp2_op{2} (builtin_comp2_op{2} .14 .28) [.25]))) (!1builtin_comp2 (!1builtin_comp3 (intch_tgt_op{2} .2 .15 .29) (builtin_comp2_red_func[(.4,1)]_op{3} (!1builtin_comp5 (assoc_op{3} .2 .15 .29) (builtin_comp2_op{2} [.16] .29) (builtin_assc_op{3} .14 .9 .29) (builtin_comp2_op{2} .14 [.30]) (assoc_op{3} .14 .28 .23))) (intch_src_op{2} .14 .28 .23)) [(builtin_comp2_func[(.6,1)]_red_func[(.8,1)]_op{3} (builtin_comp2_op{2} .14 .28) .27)])). + + $ catt --no-builtins features/eh.catt + [=^.^=] check eh^2_(0,1) + [=I.I=] valid term eh^2_(0,1) of type (builtin_comp2 [.1] [.2]) -> (!1builtin_comp3 (UBPad.p(1) .0) (!1builtin_comp2 .1 .2) (UBPad.p(1) .0)). + [=^.^=] check eh^3_(0,1) + [=I.I=] valid term eh^3_(0,1) of type (builtin_comp2 [[.1]] [[.2]]) -> (!2builtin_comp3 (UBPad.p(2) .0) (UBPad.Padding(2) [(!1builtin_comp2 [.1] [.2])]) (UBPad.p(2) .0)). + [=^.^=] check eh^4_(2,1) + [=I.I=] valid term eh^4_(2,1) of type (!2builtin_comp2 [.1] [.2]) -> (!3builtin_comp3 (UBPad.p(3) .0) (UBPad.Padding(3) [(!1builtin_comp2 [[.1]] [[.2]])]) (UBPad.p(3) .0)). + [=^.^=] check eh^3_(1,2) + [=I.I=] valid term eh^3_(1,2) of type (!1builtin_comp2 [.1] [.2]) -> (!2builtin_comp3 (UBPad.p(2) .0) (!2builtin_comp2 .1 .2) (UBPad.p(2) .0)). + [=^.^=] check eh^4_(3,2) + [=I.I=] valid term eh^4_(3,2) of type (!3builtin_comp2 .1 .2) -> (!3builtin_comp3 (UBPad.p(3) .0) (!2builtin_comp2 [.1] [.2]) (UBPad.p(3) .0)). + [=^.^=] check eh^3_(1,2) + [=I.I=] valid term eh^3_(1,2) of type (!1builtin_comp2 [.1] [.2]) -> (!2builtin_comp3 (UBPad.p(2) .0) (!2builtin_comp2 .1 .2) (UBPad.p(2) .0)). + [=^.^=] check eh^4_(2,3) + [=I.I=] valid term eh^4_(2,3) of type (!2builtin_comp2 [.1] [.2]) -> (!3builtin_comp3 (UBPad.p(3) .0) (!3builtin_comp2 .1 .2) (UBPad.p(3) .0)). + [=^.^=] check eh^3_(0,2) + [=I.I=] valid term eh^3_(0,2) of type (builtin_comp2 [[.1]] [[.2]]) -> (!2builtin_comp3 (UBPad.p(2) .0) (!1builtin_comp3 (UBPad.p(1) .0) [(!2builtin_comp2 .1 .2)] (UBPad.p(1) .0)) (UBPad.p(2) .0)). + [=^.^=] check eh^2_(1,0) + [=I.I=] valid term eh^2_(1,0) of type (!1builtin_comp2 .1 .2) -> (!1builtin_comp3 (UBPad.p(1) .0) (builtin_comp2 [.1] [.2]) (UBPad.p(1) .0)). + [=^.^=] check eh^3_(2,0) + [=I.I=] valid term eh^3_(2,0) of type (!2builtin_comp2 .1 .2) -> (!2builtin_comp3 (UBPad.p(2) .0) (!1builtin_comp3 (UBPad.p(1) .0) [(builtin_comp2 [[.1]] [[.2]])] (UBPad.p(1) .0)) (UBPad.p(2) .0)). + [=^.^=] check EH^2_(0,1) + [=I.I=] valid term (!2builtin_comp2 (eh^2_(0,1) .1 .2) (I(eh^2_(0,1)_op{2}) .2 .1)) of type (builtin_comp2 [.1] [.2]) -> (builtin_comp2_func[(.4,1) (.8,1)]_op{2} .2 .1). + [=^.^=] check EH^3_(0,1) + [=I.I=] valid term (!3builtin_comp2 (eh^3_(0,1) .1 .2) (I(eh^3_(0,1)_op{2}) .2 .1)) of type (builtin_comp2 [[.1]] [[.2]]) -> (builtin_comp2_func[(.6,2) (.12,2)]_op{2} .2 .1). + [=^.^=] check EH^3_(1,2) + [=I.I=] valid term (!3builtin_comp2 (eh^3_(1,2) .1 .2) (I(eh^3_(1,2)_op{3}) .2 .1)) of type (!1builtin_comp2 [.1] [.2]) -> (!1builtin_comp2_func[(.6,1) (.10,1)]_op{3} .2 .1). + [=^.^=] check EH^3_(1,2) + [=I.I=] valid term (!3builtin_comp2 (eh^3_(1,2) .1 .2) (I(eh^3_(1,2)_op{3}) .2 .1)) of type (!1builtin_comp2 [.1] [.2]) -> (!1builtin_comp2_func[(.6,1) (.10,1)]_op{3} .2 .1). + [=^.^=] check EH^3_(2,0) + [=I.I=] valid term (!3builtin_comp2 (eh^3_(2,0) .1 .2) (I(eh^3_(2,0)_op{1}) .2 .1)) of type (!2builtin_comp2 .1 .2) -> (!2builtin_comp2 .2 .1). + + $ catt coverage/benchmark.catt + [=I.I=] term computes to: + let !4builtin_comp9 = Coh([[[[[[][][][][][][][][]]]]]], .8 -> .25) in + let !4builtin_comp11 = Coh([[[[[[][][][][][][][][][][]]]]]], .8 -> .29) in + let !4builtin_comp7 = Coh([[[[[[][][][][][][]]]]]], .8 -> .21) in + let !4builtin_comp5 = Coh([[[[[[][][][][]]]]]], .8 -> .17) in + let !3builtin_comp5_red = Coh([[[[[]]]]], .6 -> .7) in + let !3builtin_comp5_red_func[(.10,1)]_op{5} = Coh([[[[[[]]]]]], !3builtin_comp5_red (.8) -> !3builtin_comp5_red (.9)) in + let !4builtin_comp3 = Coh([[[[[[][][]]]]]], .8 -> .13) in + let !1BPad.Padding(1)_func[(.6,1)] = λ{.0,*} {.1,*} (.2,.0 -> .1) (.3,.0 -> .1) {.4,.2 -> .3} {.5,.2 -> .3} (.6,.4 -> .5) => .6 in + let !1BPad.Padding(1)_func[(.4,1)]_op{1} = λ{.0,*} {.1,*} (.2,.0 -> .1) (.3,.0 -> .1) {.4,.3 -> .2} {.5,.3 -> .2} (.6,.4 -> .5) => .6 in + let !1BPad.Padding(1) = λ{.0,*} {.1,*} (.2,.0 -> .1) (.3,.0 -> .1) (.4,.2 -> .3) => .4 in + let !1BPad.Padding(1)_op{1} = λ{.0,*} {.1,*} (.2,.0 -> .1) (.3,.0 -> .1) (.4,.3 -> .2) => .4 in + let !1UBPad.Padding(1)_func[(.5,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.2 -> .2} {.4,.2 -> .2} (.5,.3 -> .4) => .5 in + let !3builtin_id = Coh([[[[]]]], .6 -> .6) in + let !3builtin_comp4 = Coh([[[[[][][][]]]]], .6 -> .13) in + let !3builtin_comp4_func[(.16,1)] = Coh([[[[[][][][[]]]]]], !3builtin_comp4 (.8) (.10) (.12) (.14) -> !3builtin_comp4 (.8) (.10) (.12) (.15)) in + let !3builtin_comp4_func[(.14,1)] = Coh([[[[[][][[]][]]]]], !3builtin_comp4 (.8) (.10) (.12) (.16) -> !3builtin_comp4 (.8) (.10) (.13) (.16)) in + let !3builtin_comp4_func[(.12,1)] = Coh([[[[[][[]][][]]]]], !3builtin_comp4 (.8) (.10) (.14) (.16) -> !3builtin_comp4 (.8) (.11) (.14) (.16)) in + let !3builtin_comp4_func[(.10,1)] = Coh([[[[[[]][][][]]]]], !3builtin_comp4 (.8) (.12) (.14) (.16) -> !3builtin_comp4 (.9) (.12) (.14) (.16)) in + let !1UBPad.Padding(1) = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,.2 -> .2) => .3 in + let !3builtin_comp5 = Coh([[[[[][][][][]]]]], .6 -> .15) in + let !3builtin_comp5_func[(.10,1)] = Coh([[[[[[]][][][][]]]]], !3builtin_comp5 (.8) (.12) (.14) (.16) (.18) -> !3builtin_comp5 (.9) (.12) (.14) (.16) (.18)) in + let !3builtin_comp5_func[(.12,1)] = Coh([[[[[][[]][][][]]]]], !3builtin_comp5 (.8) (.10) (.14) (.16) (.18) -> !3builtin_comp5 (.8) (.11) (.14) (.16) (.18)) in + let !3builtin_comp5_func[(.14,1)] = Coh([[[[[][][[]][][]]]]], !3builtin_comp5 (.8) (.10) (.12) (.16) (.18) -> !3builtin_comp5 (.8) (.10) (.13) (.16) (.18)) in + let !3builtin_comp5_func[(.16,1)] = Coh([[[[[][][][[]][]]]]], !3builtin_comp5 (.8) (.10) (.12) (.14) (.18) -> !3builtin_comp5 (.8) (.10) (.12) (.15) (.18)) in + let !3builtin_comp5_func[(.18,1)] = Coh([[[[[][][][][[]]]]]], !3builtin_comp5 (.8) (.10) (.12) (.14) (.16) -> !3builtin_comp5 (.8) (.10) (.12) (.14) (.17)) in + let !2builtin_comp3_red = Coh([[[[]]]], .4 -> .5) in + let !2builtin_comp3_red_func[(.8,1)] = Coh([[[[[]]]]], !2builtin_comp3_red (.6) -> !2builtin_comp3_red (.7)) in + let !2builtin_comp3_red_func[(.8,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) => !2builtin_comp3_red_func[(.8,1)] (.8) in + let !2builtin_comp3_red_func[(.8,1)]_red_func[(.10,1)]_op{5} = Coh([[[[[[]]]]]], !2builtin_comp3_red_func[(.8,1)] (.8) -> !2builtin_comp3_red_func[(.8,1)] (.9)) in + let !3builtin_comp2 = Coh([[[[[][]]]]], .6 -> .9) in + let !3builtin_assc^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp5 (.8) (.10) (.12) (!3builtin_comp2 (.14) (.16)) (.18) -> !3builtin_comp5 (.8) (.10) (.12) (.14) (!3builtin_comp2 (.16) (.18))) in + let !3builtin_assc^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp5 (.8) (!3builtin_comp2 (.10) (.12)) (.14) (.16) (.18) -> !3builtin_comp5 (.8) (.10) (!3builtin_comp2 (.12) (.14)) (.16) (.18)) in + let !3builtin_assc^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp5 (.10) (.12) (.14) (.16) (.18)) -> !3builtin_comp5 (!3builtin_comp2 (.8) (.10)) (.12) (.14) (.16) (.18)) in + let intch_tgt^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp5 (.10) (.12) (.14) (.16) (.18)) -> !3builtin_comp5_red (!3builtin_comp2 (.8) (!3builtin_comp5 (.10) (.12) (.14) (.16) (.18)))) in + let intch_tgt^-1 = Coh([[[[[][]]]]], !3builtin_comp2 (!2builtin_comp3_red_func[(.8,1)] (.8)) (!2builtin_comp3_red_func[(.8,1)] (.10)) -> !2builtin_comp3_red_func[(.8,1)] (!3builtin_comp2 (.8) (.10))) in + let !3builtin_assc = Coh([[[[[][][]]]]], !3builtin_comp2 (!3builtin_comp2 (.8) (.10)) (.12) -> !3builtin_comp2 (.8) (!3builtin_comp2 (.10) (.12))) in + let intch_src^-1 = Coh([[[[[][][][][]]]]], !3builtin_comp5_red (!3builtin_comp2 (!3builtin_comp4 (.8) (.10) (.12) (.14)) (.16)) -> !3builtin_comp2 (!3builtin_comp4 (.8) (.10) (.12) (.14)) (.16)) in + let !3_ehnat_step1 = Coh([[[[[]]]]], .8 -> !3builtin_comp2 (.8) (!3builtin_id (.7))) in + let intch_tgt^-1 = Coh([[[[[][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp2 (.10) (.12)) -> !3builtin_comp5_red (!3builtin_comp2 (.8) (!3builtin_comp2 (.10) (.12)))) in + let intch_tgt^-1 = Coh([[[[[][][][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp4 (.10) (.12) (.14) (.16)) -> !3builtin_comp5_red (!3builtin_comp2 (.8) (!3builtin_comp4 (.10) (.12) (.14) (.16)))) in + let !3builtin_assc^-1 = Coh([[[[[][][][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp4 (.10) (.12) (.14) (.16)) -> !3builtin_comp4 (!3builtin_comp2 (.8) (.10)) (.12) (.14) (.16)) in + let !3builtin_assc^-1 = Coh([[[[[][][][][]]]]], !3builtin_comp4 (.8) (!3builtin_comp2 (.10) (.12)) (.14) (.16) -> !3builtin_comp4 (.8) (.10) (!3builtin_comp2 (.12) (.14)) (.16)) in + let !3builtin_assc^-1 = Coh([[[[[][][][][]]]]], !3builtin_comp4 (.8) (.10) (.12) (!3builtin_comp2 (.14) (.16)) -> !3builtin_comp2 (!3builtin_comp4 (.8) (.10) (.12) (.14)) (.16)) in + let intch_src^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp5_red (!3builtin_comp2 (!3builtin_comp5 (.8) (.10) (.12) (.14) (.16)) (.18)) -> !3builtin_comp2 (!3builtin_comp5 (.8) (.10) (.12) (.14) (.16)) (.18)) in + let !3builtin_comp2 = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) {.9,.4 -> .5} (.10,.7 -> .9) => !3builtin_comp2 (.8) (.10) in + let !3builtin_id^-1_func[(.8,1)] = Coh([[[[[]]]]], !3builtin_comp2 (.8) (!3builtin_id (.7)) -> !3builtin_comp2 (!3builtin_id (.6)) (.8)) in + let !3builtin_comp2_func[(.10,1)] = Coh([[[[[[]][]]]]], !3builtin_comp2 (.8) (.12) -> !3builtin_comp2 (.9) (.12)) in + let !3builtin_comp2_func[(.10,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} {.8,.6 -> .7} {.9,.6 -> .7} (.10,.8 -> .9) {.11,.4 -> .5} (.12,.7 -> .11) => !3builtin_comp2_func[(.10,1)] (.10) (.12) in + let !3builtin_assc^-1 = Coh([[[[[][][][][]]]]], !3builtin_comp4 (.8) (.10) (!3builtin_comp2 (.12) (.14)) (.16) -> !3builtin_comp4 (.8) (.10) (.12) (!3builtin_comp2 (.14) (.16))) in + let !3builtin_assc^-1 = Coh([[[[[][][][][]]]]], !3builtin_comp4 (!3builtin_comp2 (.8) (.10)) (.12) (.14) (.16) -> !3builtin_comp4 (.8) (!3builtin_comp2 (.10) (.12)) (.14) (.16)) in + let !3builtin_assc^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp5 (!3builtin_comp2 (.8) (.10)) (.12) (.14) (.16) (.18) -> !3builtin_comp5 (.8) (!3builtin_comp2 (.10) (.12)) (.14) (.16) (.18)) in + let !3builtin_assc^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp5 (.8) (.10) (!3builtin_comp2 (.12) (.14)) (.16) (.18) -> !3builtin_comp5 (.8) (.10) (.12) (!3builtin_comp2 (.14) (.16)) (.18)) in + let !3builtin_assc^-1 = Coh([[[[[][][][][][]]]]], !3builtin_comp5 (.8) (.10) (.12) (.14) (!3builtin_comp2 (.16) (.18)) -> !3builtin_comp2 (!3builtin_comp5 (.8) (.10) (.12) (.14) (.16)) (.18)) in + let !3builtin_comp2_func[(.12,1)] = Coh([[[[[][[]]]]]], !3builtin_comp2 (.8) (.10) -> !3builtin_comp2 (.8) (.11)) in + let !3builtin_comp2_func[(.12,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) {.9,.4 -> .5} {.10,.7 -> .9} {.11,.7 -> .9} (.12,.10 -> .11) => !3builtin_comp2_func[(.12,1)] (.8) (.12) in + let !3assoc = Coh([[[[[][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp2 (.10) (.12)) -> !3builtin_comp2 (!3builtin_comp2 (.8) (.10)) (.12)) in + let intch_src^-1 = Coh([[[[[][][]]]]], !3builtin_comp5_red (!3builtin_comp2 (!3builtin_comp2 (.8) (.10)) (.12)) -> !3builtin_comp2 (!3builtin_comp2 (.8) (.10)) (.12)) in + let intch_src^-1 = Coh([[[[[][]]]]], !2builtin_comp3_red_func[(.8,1)] (!3builtin_comp2 (.8) (.10)) -> !3builtin_comp2 (!2builtin_comp3_red_func[(.8,1)] (.8)) (!2builtin_comp3_red_func[(.8,1)] (.10))) in + let !2builtin_comp2 = Coh([[[[][]]]], .4 -> .7) in + let !2builtin_comp2_func[(.8,1)] = Coh([[[[[]][]]]], !2builtin_comp2 (.6) (.10) -> !2builtin_comp2 (.7) (.10)) in + let !2builtin_comp2_func[(.8,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) {.9,.2 -> .3} (.10,.5 -> .9) => !2builtin_comp2_func[(.8,1)] (.8) (.10) in + let !1!1builtin_comp2_op{1} = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.3 -> .2} {.5,.3 -> .2} (.6,.4 -> .5) {.7,.3 -> .2} (.8,.5 -> .7) => !2builtin_comp2 (.6) (.8) in + let !2builtin_comp2_func[(.8,1) (.12,1)] = Coh([[[[[]][[]]]]], !2builtin_comp2 (.6) (.10) -> !2builtin_comp2 (.7) (.11)) in + let !2builtin_comp2_func[(.8,1) (.12,1)]_red_func[(.10,1) (.16,1)]_op{5} = Coh([[[[[[]]][[[]]]]]], !2builtin_comp2_func[(.8,1) (.12,1)] (.8) (.14) -> !2builtin_comp2_func[(.8,1) (.12,1)] (.9) (.15)) in + let !2builtin_comp2_func[(.8,1) (.12,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) {.9,.2 -> .3} {.10,.5 -> .9} {.11,.5 -> .9} (.12,.10 -> .11) => !2builtin_comp2_func[(.8,1) (.12,1)] (.8) (.12) in + let intch_src^-1 = Coh([[[[[][]][[][]]]]], !2builtin_comp2_func[(.8,1) (.12,1)] (!3builtin_comp2 (.8) (.10)) (!3builtin_comp2 (.14) (.16)) -> !3builtin_comp2 (!2builtin_comp2_func[(.8,1) (.12,1)] (.8) (.14)) (!2builtin_comp2_func[(.8,1) (.12,1)] (.10) (.16))) in + let intch_tgt^-1 = Coh([[[[[][]][[][]]]]], !3builtin_comp2 (!2builtin_comp2_func[(.8,1) (.12,1)] (.8) (.14)) (!2builtin_comp2_func[(.8,1) (.12,1)] (.10) (.16)) -> !2builtin_comp2_func[(.8,1) (.12,1)] (!3builtin_comp2 (.8) (.10)) (!3builtin_comp2 (.14) (.16))) in + let !2builtin_comp2_func[(.10,1)] = Coh([[[[][[]]]]], !2builtin_comp2 (.6) (.8) -> !2builtin_comp2 (.6) (.9)) in + let !2builtin_comp2_func[(.10,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} (.6,.4 -> .5) {.7,.2 -> .3} {.8,.5 -> .7} {.9,.5 -> .7} (.10,.8 -> .9) => !2builtin_comp2_func[(.10,1)] (.6) (.10) in + let !2builtin_comp2 = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} (.6,.4 -> .5) {.7,.2 -> .3} (.8,.5 -> .7) => !2builtin_comp2 (.6) (.8) in + let !2builtin_id = Coh([[[]]], .4 -> .4) in + let !1BToURepad.Repadding(1) = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,.2 -> .2) => !2builtin_id (.3) in + let !2builtin_id^-1_func[(.6,1)] = Coh([[[[]]]], !2builtin_comp2 (.6) (!2builtin_id (.5)) -> !2builtin_comp2 (!2builtin_id (.4)) (.6)) in + let !2builtin_id^-1^-1_func[(.8,2)] = Coh([[[[[]]]]], !3builtin_comp2 (!2builtin_comp2_func[(.8,1)] (.8) (!2builtin_id (.5))) (!2builtin_id^-1_func[(.6,1)] (.7)) -> !3builtin_comp2 (!2builtin_id^-1_func[(.6,1)] (.6)) (!2builtin_comp2_func[(.10,1)] (!2builtin_id (.4)) (.8))) in + let !1builtin_id = Coh([[]], .2 -> .2) in + let !1builtin_comp2 = Coh([[[][]]], .2 -> .5) in + let !1builtin_comp2_op{1} = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.3 -> .2) {.5,.0 -> .1} (.6,.5 -> .3) => !1builtin_comp2 (.6) (.4) in + let !1BPad.p(1)_op{1} = Coh([[[]]], !1BPad.Padding(1)_op{1} (.3) (.2) (!1builtin_comp2_op{1} (.4) (!1builtin_id (.2))) -> .4) in + let tm_6 = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.3 -> .2) (.5,.3 -> .2) (.6,!1builtin_comp2_op{1} (.4) (!1builtin_id (.3)) -> !1builtin_comp2_op{1} (.5) (!1builtin_id (.3))) => !1BPad.p(1)_op{1} (.5) in + let !1BPad.p(1)_op{1} = Coh([[[]]], .4 -> !1BPad.Padding(1)_op{1} (.3) (.2) (!1builtin_comp2_op{1} (.4) (!1builtin_id (.2)))) in + let tm_5 = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.3 -> .2) (.5,.3 -> .2) (.6,!1builtin_comp2_op{1} (.4) (!1builtin_id (.3)) -> !1builtin_comp2_op{1} (.5) (!1builtin_id (.3))) => !1BPad.p(1)_op{1} (.4) in + let !1builtin_comp2_func[(.6,1) (.10,1)] = Coh([[[[]][[]]]], !1builtin_comp2 (.4) (.8) -> !1builtin_comp2 (.5) (.9)) in + let !1builtin_comp2_func[(.8,2) (.14,2)] = Coh([[[[[]]][[[]]]]], !1builtin_comp2_func[(.6,1) (.10,1)] (.6) (.12) -> !1builtin_comp2_func[(.6,1) (.10,1)] (.7) (.13)) in + let !1builtin_comp2_func[(.8,2) (.14,2)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) {.9,.0 -> .1} {.10,.3 -> .9} {.11,.3 -> .9} {.12,.10 -> .11} {.13,.10 -> .11} (.14,.12 -> .13) => !1builtin_comp2_func[(.8,2) (.14,2)] (.8) (.14) in + let !1builtin_comp2_func[(.6,1) (.12,2)] = Coh([[[[]][[[]]]]], !1builtin_comp2_func[(.6,1) (.10,1)] (.6) (.10) -> !1builtin_comp2_func[(.6,1) (.10,1)] (.6) (.11)) in + let !1builtin_comp2_func[(.6,1) (.12,2)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} (.6,.4 -> .5) {.7,.0 -> .1} {.8,.3 -> .7} {.9,.3 -> .7} {.10,.8 -> .9} {.11,.8 -> .9} (.12,.10 -> .11) => !1builtin_comp2_func[(.6,1) (.12,2)] (.6) (.12) in + let !1builtin_comp2_func[(.8,2) (.12,1)] = Coh([[[[[]]][[]]]], !1builtin_comp2_func[(.6,1) (.10,1)] (.6) (.12) -> !1builtin_comp2_func[(.6,1) (.10,1)] (.7) (.12)) in + let !1builtin_comp2_func[(.8,2) (.12,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) {.9,.0 -> .1} {.10,.3 -> .9} {.11,.3 -> .9} (.12,.10 -> .11) => !1builtin_comp2_func[(.8,2) (.12,1)] (.8) (.12) in + let !1builtin_comp2_func[(.4,1) (.8,1)]_op{1} = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.3 -> .2} {.5,.3 -> .2} (.6,.4 -> .5) {.7,.0 -> .1} {.8,.7 -> .3} {.9,.7 -> .3} (.10,.8 -> .9) => !1builtin_comp2_func[(.6,1) (.10,1)] (.10) (.6) in + let !1builtin_comp2_func[(.6,1) (.10,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} (.6,.4 -> .5) {.7,.0 -> .1} {.8,.3 -> .7} {.9,.3 -> .7} (.10,.8 -> .9) => !1builtin_comp2_func[(.6,1) (.10,1)] (.6) (.10) in + let !1intch(2,0) = Coh([[[[]][[]]]], !2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (.6) (!2builtin_id (.8))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (.5)) (.10)) -> !1builtin_comp2_func[(.6,1) (.10,1)] (.6) (.10)) in + let !1intch(2,0)^-1_func[(.8,1) (.14,1)] = Coh([[[[[]]][[[]]]]], !3builtin_comp2 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.8) (!2builtin_id (.10))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (.5)) (.14))) (!1intch(2,0) (.7) (.13)) -> !3builtin_comp2 (!1intch(2,0) (.6) (.12)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.8) (.14))) in + let !1builtin_comp2 = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.2 -> .3) {.5,.0 -> .1} (.6,.3 -> .5) => !1builtin_comp2 (.4) (.6) in + let !1UBPad.p(1) = Coh([[]], !1builtin_id (.2) -> !1UBPad.Padding(1) (!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)))) in + let !1BPad.p(1) = Coh([[[]]], !1BPad.Padding(1) (.2) (.3) (!1builtin_comp2 (.4) (!1builtin_id (.3))) -> .4) in + let tm_8 = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.2 -> .3) (.5,.2 -> .3) (.6,!1builtin_comp2 (.4) (!1builtin_id (.3)) -> !1builtin_comp2 (.5) (!1builtin_id (.3))) => !1BPad.p(1) (.5) in + let tm_4 = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))) => .3 in + let !1UBPad.p(1) = Coh([[]], !1UBPad.Padding(1) (!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))) -> !1builtin_id (.2)) in + let tm_2 = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))) => !1UBPad.p(1) (.2) in + let !1UBPad.p(1)_Unit = Coh([[]], !2builtin_comp2 (!1UBPad.Padding(1) (!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)))) (!1builtin_id (.2)) (!1UBPad.p(1) (.2)) (!1UBPad.p(1) (.2)) -> !2builtin_id (!1UBPad.Padding(1) (!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))))) in + let !1BToURepad.g(1) = Coh([[]], !1BPad.p(1) (!1builtin_id (.2)) -> !2builtin_comp2 (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (.2))) in + let !1BToURepad.f(1)_op{1} = Coh([[]], !1!1builtin_comp2_op{1} (!1BPad.p(1)_op{1} (!1builtin_id (.2))) (!1BToURepad.Repadding(1) ) -> !1UBPad.p(1) (.2)) in + let tm_1 = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))) => !1UBPad.p(1) (.2) in + let !1BPad.p(1) = Coh([[[]]], .4 -> !1BPad.Padding(1) (.2) (.3) (!1builtin_comp2 (.4) (!1builtin_id (.3)))) in + let tm_7 = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.2 -> .3) (.5,.2 -> .3) (.6,!1builtin_comp2 (.4) (!1builtin_id (.3)) -> !1builtin_comp2 (.5) (!1builtin_id (.3))) => !1BPad.p(1) (.4) in + let !1BToURepad.f(1) = Coh([[]], !2builtin_comp2 (!1BPad.p(1) (!1builtin_id (.2))) (!1BToURepad.Repadding(1) ) -> !1UBPad.p(1) (.2)) in + let !1BToURepad.g(1)_op{1} = Coh([[]], !1BPad.p(1)_op{1} (!1builtin_id (.2)) -> !1!1builtin_comp2_op{1} (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (.2))) in + let builtin_id = Coh([], .0 -> .0) in + let ΣUToURepad.Repadding(2) = λ{.0,*} (.1,builtin_id (.0) -> builtin_id (.0)) => !2builtin_id (.1) in + let UBPad.Padding(2)_func[(.3,1)] = λ{.0,*} {.1,builtin_id (.0) -> builtin_id (.0)} {.2,builtin_id (.0) -> builtin_id (.0)} (.3,.1 -> .2) => .3 in + let UBPad.Padding(2) = λ{.0,*} (.1,builtin_id (.0) -> builtin_id (.0)) => .1 in + let UBPad.p(2) = Coh([], !1builtin_id (builtin_id (.0)) -> UBPad.Padding(2) (!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0))))) in + let ΣUToURepad.f(2) = Coh([], !2builtin_comp2 (!1UBPad.p(1) (builtin_id (.0))) (ΣUToURepad.Repadding(2) ) -> UBPad.p(2) (.0)) in + let UBPad.p(2) = Coh([], UBPad.Padding(2) (!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0)))) -> !1builtin_id (builtin_id (.0))) in + let ΣUToURepad.g(2) = Coh([], !1UBPad.p(1) (builtin_id (.0)) -> !2builtin_comp2 (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) in + let !2builtin_comp3 = Coh([[[[][][]]]], .4 -> .9) in + let !2builtin_comp3_func[(.8,1)] = Coh([[[[[]][][]]]], !2builtin_comp3 (.6) (.10) (.12) -> !2builtin_comp3 (.7) (.10) (.12)) in + let !1BPad.Padding(2) = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.2 -> .3) (.5,.2 -> .3) (.6,!1builtin_comp2 (.4) (!1builtin_id (.3)) -> !1builtin_comp2 (.5) (!1builtin_id (.3))) => !2builtin_comp3 (!1BPad.p(1) (.4)) (!1BPad.Padding(1)_func[(.6,1)] (.2) (.3) (.6)) (!1BPad.p(1) (.5)) in + let !1BPad.p(2) = Coh([[[[]]]], .6 -> !1BPad.Padding(2) (.4) (.5) (!1builtin_comp2_func[(.6,1) (.10,1)] (.6) (!2builtin_id (!1builtin_id (.3))))) in + let !2intch_src = Coh([[[[][][]]]], !2builtin_comp3 (.6) (.8) (.10) -> !2builtin_comp3_red (!2builtin_comp3 (.6) (.8) (.10))) in + let !2_builtin_unitor = Coh([[[[][]]]], !2builtin_comp3 (.6) (!2builtin_id (.5)) (.8) -> !2builtin_comp2 (.6) (.8)) in + let !1BPad.Padding(2)_op{1} = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} (.4,.3 -> .2) (.5,.3 -> .2) (.6,!1builtin_comp2_op{1} (.4) (!1builtin_id (.3)) -> !1builtin_comp2_op{1} (.5) (!1builtin_id (.3))) => !2builtin_comp3 (!1BPad.p(1)_op{1} (.4)) (!1BPad.Padding(1)_func[(.4,1)]_op{1} (.2) (.3) (.6)) (!1BPad.p(1)_op{1} (.5)) in + let !1BPad.p(2)_op{1} = Coh([[[[]]]], .6 -> !1BPad.Padding(2)_op{1} (.4) (.5) (!1builtin_comp2_func[(.4,1) (.8,1)]_op{1} (.6) (!2builtin_id (!1builtin_id (.2))))) in + let !2_builtin_assoc = Coh([[[[][][][][][]]]], !2builtin_comp2 (!2builtin_comp3 (.6) (.8) (.10)) (!2builtin_comp3 (.12) (.14) (.16)) -> !2builtin_comp3 (.6) (!2builtin_comp3 (.8) (!2builtin_comp2 (.10) (.12)) (.14)) (.16)) in + let !2builtin_assc = Coh([[[[][][][]]]], !2builtin_comp3 (.6) (!2builtin_comp2 (.8) (.10)) (.12) -> !2builtin_comp3 (!2builtin_comp2 (.6) (.8)) (.10) (.12)) in + let !2builtin_assc = Coh([[[[][][][]]]], !2builtin_comp3 (.6) (.8) (!2builtin_comp2 (.10) (.12)) -> !2builtin_comp3 (.6) (!2builtin_comp2 (.8) (.10)) (.12)) in + let !2builtin_comp3_func[(.12,1)] = Coh([[[[][][[]]]]], !2builtin_comp3 (.6) (.8) (.10) -> !2builtin_comp3 (.6) (.8) (.11)) in + let !2builtin_comp3_func[(.10,1)] = Coh([[[[][[]][]]]], !2builtin_comp3 (.6) (.8) (.12) -> !2builtin_comp3 (.6) (.9) (.12)) in + let UBPad.Padding(3)_func[(.3,1)] = λ{.0,*} {.1,!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0))) -> !1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0)))} {.2,!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0))) -> !1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0)))} (.3,.1 -> .2) => !2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (.3) (UBPad.p(2) (.0)) in + let !1UBPad.Padding(2)_func[(.5,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))} {.4,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))} (.5,.3 -> .4) => !2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (.2)) (.5) (!1UBPad.p(1) (.2)) in + let !2builtin_comp3_func[(.10,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} (.6,.4 -> .5) {.7,.2 -> .3} {.8,.5 -> .7} {.9,.5 -> .7} (.10,.8 -> .9) {.11,.2 -> .3} (.12,.7 -> .11) => !2builtin_comp3_func[(.10,1)] (.6) (.10) (.12) in + let tm_3 = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))) (.4,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))) => !3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (.2)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1) (.2)) (!1UBPad.p(1) (.2)) (tm_4 (.4)) (!1UBPad.p(1) (.2))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (.2)) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1)_Unit (.2)) (tm_4 (.4))) (!1UBPad.p(1) (.2))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (.2)) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (tm_4 (.4))) (!1UBPad.p(1) (.2))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (.2)) (!3builtin_id (!2builtin_comp2 (.3) (.4))) (!1UBPad.p(1) (.2))) in + let intch_tgt^-1 = Coh([[[[][[][]][]]]], !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.14)) (!2builtin_comp3_func[(.10,1)] (.6) (.12) (.14)) -> !2builtin_comp3_func[(.10,1)] (.6) (!3builtin_comp2 (.10) (.12)) (.14)) in + let !2intch_src^-1_func[(.10,1)] = Coh([[[[][[]][]]]], !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.12)) (!2intch_src (.6) (.9) (.12)) -> !3builtin_comp2 (!2intch_src (.6) (.8) (.12)) (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.12)))) in + let !1BPad.p(2)^-1_func[(.8,1)] = Coh([[[[[]]]]], !3builtin_comp2 (.8) (!1BPad.p(2) (.7)) -> !3builtin_comp2 (!1BPad.p(2) (.6)) (!2builtin_comp3_func[(.10,1)] (!1BPad.p(1) (.4)) (!1builtin_comp2_func[(.8,2) (.12,1)] (.8) (!2builtin_id (!1builtin_id (.3)))) (!1BPad.p(1) (.5)))) in + let !1BPad.p(2)_op{1}^-1_func[(.8,1)] = Coh([[[[[]]]]], !3builtin_comp2 (.8) (!1BPad.p(2)_op{1} (.7)) -> !3builtin_comp2 (!1BPad.p(2)_op{1} (.6)) (!2builtin_comp3_func[(.10,1)] (!1BPad.p(1)_op{1} (.4)) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (.2))) (.8)) (!1BPad.p(1)_op{1} (.5)))) in + let !2builtin_assc^-1_func[(.12,1)] = Coh([[[[][][[]][]]]], !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (!2builtin_comp2_func[(.10,1)] (.8) (.12)) (.14)) (!2builtin_assc (.6) (.8) (.11) (.14)) -> !3builtin_comp2 (!2builtin_assc (.6) (.8) (.10) (.14)) (!2builtin_comp3_func[(.10,1)] (!2builtin_comp2 (.6) (.8)) (.12) (.14))) in + let !2builtin_comp3_func[(.8,1) (.14,1)] = Coh([[[[[]][][[]]]]], !2builtin_comp3 (.6) (.10) (.12) -> !2builtin_comp3 (.7) (.10) (.13)) in + let !2builtin_comp3_func[(.8,1) (.14,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} (.8,.6 -> .7) {.9,.2 -> .3} (.10,.5 -> .9) {.11,.2 -> .3} {.12,.9 -> .11} {.13,.9 -> .11} (.14,.12 -> .13) => !2builtin_comp3_func[(.8,1) (.14,1)] (.8) (.10) (.14) in + let !2_builtin_assoc^-1_func[(.10,1) (.18,1)] = Coh([[[[][[]][][][[]][]]]], !3builtin_comp2 (!2builtin_comp2_func[(.8,1) (.12,1)] (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.12)) (!2builtin_comp3_func[(.10,1)] (.14) (.18) (.20))) (!2_builtin_assoc (.6) (.9) (.12) (.14) (.17) (.20)) -> !3builtin_comp2 (!2_builtin_assoc (.6) (.8) (.12) (.14) (.16) (.20)) (!2builtin_comp3_func[(.10,1)] (.6) (!2builtin_comp3_func[(.8,1) (.14,1)] (.10) (!2builtin_comp2 (.12) (.14)) (.18)) (.20))) in + let !2_builtin_unitor^-1_func[(.8,1) (.12,1)] = Coh([[[[[]][[]]]]], !3builtin_comp2 (!2builtin_comp3_func[(.8,1) (.14,1)] (.8) (!2builtin_id (.5)) (.12)) (!2_builtin_unitor (.7) (.11)) -> !3builtin_comp2 (!2_builtin_unitor (.6) (.10)) (!2builtin_comp2_func[(.8,1) (.12,1)] (.8) (.12))) in + let !2builtin_comp3^-1_func[(.12,1)][(.8,1) (.16,1)] = Coh([[[[[]][[]][[]]]]], !3builtin_comp2 (!2builtin_comp3_func[(.8,1) (.14,1)] (.8) (.10) (.16)) (!2builtin_comp3_func[(.10,1)] (.7) (.12) (.15)) -> !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (.12) (.14)) (!2builtin_comp3_func[(.8,1) (.14,1)] (.8) (.11) (.16))) in + let !2builtin_assc^-1_func[(.10,1)] = Coh([[[[][[]][][]]]], !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (.10) (!2builtin_comp2 (.12) (.14))) (!2builtin_assc (.6) (.9) (.12) (.14)) -> !3builtin_comp2 (!2builtin_assc (.6) (.8) (.12) (.14)) (!2builtin_comp3_func[(.10,1)] (.6) (!2builtin_comp2_func[(.8,1)] (.10) (.12)) (.14))) in + let !2builtin_comp3^-1_func[(.14,1)][(.10,1)] = Coh([[[[][[]][[]]]]], !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.12)) (!2builtin_comp3_func[(.12,1)] (.6) (.9) (.14)) -> !3builtin_comp2 (!2builtin_comp3_func[(.12,1)] (.6) (.8) (.14)) (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.13))) in + let !2builtin_comp3^-1_func[(.8,1)][(.12,1)] = Coh([[[[[]][[]][]]]], !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (.12) (.14)) (!2builtin_comp3_func[(.8,1)] (.8) (.11) (.14)) -> !3builtin_comp2 (!2builtin_comp3_func[(.8,1)] (.8) (.10) (.14)) (!2builtin_comp3_func[(.10,1)] (.7) (.12) (.14))) in + let !2intch_tgt = Coh([[[[][][]]]], !2builtin_comp3_red (!2builtin_comp3 (.6) (.8) (.10)) -> !2builtin_comp3 (.6) (.8) (.10)) in + let !2intch_tgt^-1_func[(.10,1)] = Coh([[[[][[]][]]]], !3builtin_comp2 (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.12))) (!2intch_tgt (.6) (.9) (.12)) -> !3builtin_comp2 (!2intch_tgt (.6) (.8) (.12)) (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.12))) in + let intch_src^-1 = Coh([[[[][[][]][]]]], !2builtin_comp3_func[(.10,1)] (.6) (!3builtin_comp2 (.10) (.12)) (.14) -> !3builtin_comp2 (!2builtin_comp3_func[(.10,1)] (.6) (.10) (.14)) (!2builtin_comp3_func[(.10,1)] (.6) (.12) (.14))) in + let !2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} = Coh([[[[][[[]]][]]]], !2builtin_comp3_func[(.10,1)] (.6) (.10) (.14) -> !2builtin_comp3_func[(.10,1)] (.6) (.11) (.14)) in + let UBPad.Padding(3) = λ{.0,*} (.1,!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0))) -> !1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0)))) => !2builtin_comp3 (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (.1)) (UBPad.p(2) (.0)) in + let UBPad.p(3) = Coh([], !2builtin_comp2 (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))) -> UBPad.Padding(3) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) in + let UBPad.p(3) = Coh([], UBPad.Padding(3) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) -> !2builtin_comp2 (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) in + let !3builtin_comp3 = Coh([[[[[][][]]]]], .6 -> .11) in + let !1BToURepad.Repadding(2) = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,!1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2 (!1builtin_id (.2)) (!1builtin_id (.2))) => !3builtin_comp3 (!2intch_src (tm_7 (.3)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (tm_8 (.3))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (.3)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1BToURepad.g(1) (.2))) (!2builtin_assc (tm_7 (.3)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (.2))) (!2builtin_comp3_func[(.10,1)] (tm_7 (.3)) (!2builtin_id^-1_func[(.6,1)] (.3)) (!1UBPad.p(1) (.2))) (!2builtin_assc (tm_7 (.3)) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1) (.2))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (.2)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1) (.2))))) (!2intch_tgt (!1builtin_id (.2)) (!1UBPad.p(1) (.2)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1) (.2))) in + let intch_tgt^-1 = Coh([[[[[][][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp3 (.10) (.12) (.14)) -> !3builtin_comp5_red (!3builtin_comp2 (.8) (!3builtin_comp3 (.10) (.12) (.14)))) in + let !3builtin_assc^-1 = Coh([[[[[][][][]]]]], !3builtin_comp2 (.8) (!3builtin_comp3 (.10) (.12) (.14)) -> !3builtin_comp3 (!3builtin_comp2 (.8) (.10)) (.12) (.14)) in + let !1BToURepad.Repadding(2)_op{1} = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,!1builtin_comp2_op{1} (!1builtin_id (.2)) (!1builtin_id (.2)) -> !1builtin_comp2_op{1} (!1builtin_id (.2)) (!1builtin_id (.2))) => !3builtin_comp3 (!2intch_src (tm_5 (.3)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (tm_6 (.3))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (.3)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1BToURepad.g(1)_op{1} (.2))) (!2builtin_assc (tm_5 (.3)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (.2))) (!2builtin_comp3_func[(.10,1)] (tm_5 (.3)) (!2builtin_id^-1_func[(.6,1)] (.3)) (!1UBPad.p(1) (.2))) (!2builtin_assc (tm_5 (.3)) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1) (.2))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (.2)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1) (.2))))) (!2intch_tgt (!1UBPad.p(1) (.2)) (!1UBPad.Padding(1)_func[(.5,1)] (.3)) (!1UBPad.p(1) (.2))) in + let !1eh^2_(1,0) = λ{.0,*} {.1,*} {.2,.0 -> .1} (.3,!1builtin_id (.2) -> !1builtin_id (.2)) (.4,!1builtin_id (.2) -> !1builtin_id (.2)) => !3builtin_comp4 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (.3)) (!1BPad.p(2)_op{1} (.4))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (.3) (!2builtin_id (!1builtin_id (.2))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (.2))) (.4)))) (tm_3 (!1builtin_comp2_func[(.6,1) (.10,1)] (.3) (!2builtin_id (!1builtin_id (.2)))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (.2))) (.4))) (!1UBPad.Padding(2)_func[(.5,1)] (!1intch(2,0) (.3) (.4))) in + let !3builtin_assc^-1 = Coh([[[[[][][][]]]]], !3builtin_comp3 (!3builtin_comp2 (.8) (.10)) (.12) (.14) -> !3builtin_comp3 (.8) (!3builtin_comp2 (.10) (.12)) (.14)) in + let !3builtin_comp3_func[(.12,1)] = Coh([[[[[][[]][]]]]], !3builtin_comp3 (.8) (.10) (.14) -> !3builtin_comp3 (.8) (.11) (.14)) in + let !3builtin_assc^-1 = Coh([[[[[][][][]]]]], !3builtin_comp3 (.8) (!3builtin_comp2 (.10) (.12)) (.14) -> !3builtin_comp3 (.8) (.10) (!3builtin_comp2 (.12) (.14))) in + let ΣUToURepad.Repadding(3) = λ{.0,*} (.1,!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0))) -> !1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0)))) => !3builtin_comp3 (!2intch_src (tm_1 (.1)) (UBPad.Padding(2)_func[(.3,1)] (.1)) (tm_2 (.1))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (.1)) (UBPad.Padding(2)_func[(.3,1)] (.1)) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (.1)) (UBPad.Padding(2)_func[(.3,1)] (.1)) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (.1)) (!2builtin_id^-1_func[(.6,1)] (.1)) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (.1)) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (.1)) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (.1)) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (.1)) (UBPad.p(2) (.0))) in + let eh^3_(2,1) = λ{.0,*} (.1,!1builtin_id (builtin_id (.0)) -> !1builtin_id (builtin_id (.0))) (.2,!1builtin_id (builtin_id (.0)) -> !1builtin_id (builtin_id (.0))) => !3builtin_comp2 (!1eh^2_(1,0) (.1) (.2)) (ΣUToURepad.Repadding(3) (!1builtin_comp2_func[(.6,1) (.10,1)] (.1) (.2))) in + let _eh_to_p(3,2,1) = Coh([], eh^3_(2,1) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))) -> UBPad.p(3) (.0)) in + let !3_unbiasor_left = Coh([[[[[][][]]]]], !3builtin_comp2 (!3builtin_comp2 (.8) (.10)) (.12) -> !3builtin_comp3 (.8) (.10) (.12)) in + let !3builtin_assc^-1 = Coh([[[[[][][][]]]]], !3builtin_comp3 (.8) (.10) (!3builtin_comp2 (.12) (.14)) -> !3builtin_comp2 (!3builtin_comp3 (.8) (.10) (.12)) (.14)) in + let !3builtin_comp3_func[(.14,1)] = Coh([[[[[][][[]]]]]], !3builtin_comp3 (.8) (.10) (.12) -> !3builtin_comp3 (.8) (.10) (.13)) in + let _factor_id(3,2,1) = Coh([], !3builtin_id (!2builtin_comp2 (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) -> !3builtin_comp2 (eh^3_(2,1) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (UBPad.p(3) (.0))) in + let intch_src^-1 = Coh([[[[[][][][]]]]], !3builtin_comp5_red (!3builtin_comp2 (!3builtin_comp3 (.8) (.10) (.12)) (.14)) -> !3builtin_comp2 (!3builtin_comp3 (.8) (.10) (.12)) (.14)) in + let !3builtin_comp3_func[(.10,1)] = Coh([[[[[[]][][]]]]], !3builtin_comp3 (.8) (.12) (.14) -> !3builtin_comp3 (.9) (.12) (.14)) in + let !3builtin_comp3_func[(.10,1)] = λ{.0,*} {.1,*} {.2,.0 -> .1} {.3,.0 -> .1} {.4,.2 -> .3} {.5,.2 -> .3} {.6,.4 -> .5} {.7,.4 -> .5} {.8,.6 -> .7} {.9,.6 -> .7} (.10,.8 -> .9) {.11,.4 -> .5} (.12,.7 -> .11) {.13,.4 -> .5} (.14,.11 -> .13) => !3builtin_comp3_func[(.10,1)] (.10) (.12) (.14) in + let !4builtin_comp6 = Coh([[[[[[][][][][][]]]]]], .8 -> .19) in + !4builtin_comp6 (!3_ehnat_step1 (!2builtin_comp2_func[(.8,1) (.12,1)] (.1) (.2))) (!3builtin_comp2_func[(.12,1)] (!2builtin_comp2_func[(.8,1) (.12,1)] (.1) (.2)) (_factor_id(3,2,1) (.0))) (!3assoc (!2builtin_comp2_func[(.8,1) (.12,1)] (.1) (.2)) (eh^3_(2,1) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (UBPad.p(3) (.0))) (!3builtin_comp2_func[(.10,1)] (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (.1) (.2)) (!3builtin_comp4 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (tm_3 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(2)_func[(.5,1)] (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp3 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp5 (!3assoc (!2builtin_comp2_func[(.8,1) (.12,1)] (.1) (.2)) (!3builtin_comp4 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (tm_3 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(2)_func[(.5,1)] (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp3 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!3builtin_comp2_func[(.10,1)] (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (.1) (.2)) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp9 (!3builtin_assc^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (.1) (.2)) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.10,1)] (!4builtin_comp3 (intch_tgt^-1 (.1) (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (.2) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)]_red_func[(.10,1) (.16,1)]_op{5} (!1BPad.p(2)^-1_func[(.8,1)] (.1)) (!1BPad.p(2)_op{1}^-1_func[(.8,1)] (.2))) (intch_src^-1 (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1BPad.p(1) (!1builtin_id (builtin_id (.0)))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(1) (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1BPad.p(1)_op{1} (!1builtin_id (builtin_id (.0)))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1BPad.p(1)_op{1} (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!2builtin_comp3_func[(.10,1)] (!1BPad.p(1) (!1builtin_id (builtin_id (.0)))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(1) (!1builtin_id (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1BPad.p(1)_op{1} (!1builtin_id (builtin_id (.0)))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1BPad.p(1)_op{1} (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.12,1)] (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp3 (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp3 (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)]_red_func[(.10,1) (.16,1)]_op{5} (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp7 (!3builtin_assc^-1 (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp3_func[(.10,1)] (!2intch_src^-1_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp3_func[(.12,1)] (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2builtin_comp3_red_func[(.8,1)]_red_func[(.10,1)]_op{5} (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp11 (!3builtin_assc^-1 (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.10,1)] (!2builtin_comp3^-1_func[(.14,1)][(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_comp2 (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.12,1)] (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc^-1_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BToURepad.Repadding(1) )) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.14,1)] (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!4builtin_comp3 (intch_tgt^-1 (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BToURepad.Repadding(1) )) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1^-1_func[(.8,2)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (intch_src^-1 (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.10,1)] (!1BToURepad.Repadding(1) ) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.10,1)] (!1BToURepad.Repadding(1) ) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.16,1)] (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc^-1_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!2builtin_comp2 (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) )) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.18,1)] (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3^-1_func[(.8,1)][(.12,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp3_func[(.14,1)] (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt^-1_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp7 (!3builtin_assc^-1 (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp3_func[(.10,1)] (!2intch_src^-1_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp3_func[(.12,1)] (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2builtin_comp3_red_func[(.8,1)]_red_func[(.10,1)]_op{5} (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp11 (!3builtin_assc^-1 (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.10,1)] (!2builtin_comp3^-1_func[(.14,1)][(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!2builtin_comp2 (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.12,1)] (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc^-1_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1)] (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1BToURepad.Repadding(1) )) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.14,1)] (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!4builtin_comp3 (intch_tgt^-1 (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1)] (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1BToURepad.Repadding(1) )) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1^-1_func[(.8,2)] (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (intch_src^-1 (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.10,1)] (!1BToURepad.Repadding(1) ) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.10,1)] (!1BToURepad.Repadding(1) ) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.16,1)] (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc^-1_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!2builtin_comp2 (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) )) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_func[(.18,1)] (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3^-1_func[(.8,1)][(.12,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp3_func[(.14,1)] (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt^-1_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!3builtin_comp3 (!2intch_src (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_8 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_7 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!3builtin_comp3 (!2intch_src (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_6 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.g(1)_op{1} (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_assc (tm_5 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(1) ) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.8,1)] (!1BToURepad.f(1)_op{1} (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2intch_tgt (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0)))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.14,1)] (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))) (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp9 (!3builtin_assc^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0))))) (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.10,1)] (!2_builtin_assoc^-1_func[(.10,1) (.18,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.8,1) (.14,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_comp2 (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0)))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.12,1)] (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!4builtin_comp3 (intch_tgt^-1 (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.8,1) (.14,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_comp2 (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0)))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3^-1_func[(.12,1)][(.8,1) (.16,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (intch_src^-1 (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.8,1) (.14,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_id (!1UBPad.Padding(1) (!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.8,1) (.14,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_id (!1UBPad.Padding(1) (!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.14,1)] (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!4builtin_comp3 (intch_tgt^-1 (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.8,1) (.14,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!2builtin_id (!1builtin_comp2 (!1builtin_id (builtin_id (.0))) (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor^-1_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (intch_src^-1 (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.16,1)] (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!4builtin_comp3 (intch_tgt^-1 (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id^-1_func[(.8,1)] (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2)))) (!1UBPad.p(1) (builtin_id (.0)))) (intch_src^-1 (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))))) (!3builtin_assc^-1 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_assc^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0))))) (!3builtin_comp4_func[(.16,1)] (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!4builtin_comp3 (intch_tgt^-1 (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1builtin_comp2_func[(.8,2) (.12,1)] (.1) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.12,2)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (.2))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0)^-1_func[(.8,1) (.14,1)] (.1) (.2)) (!1UBPad.p(1) (builtin_id (.0)))) (intch_src^-1 (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (!1UBPad.p(1) (builtin_id (.0)))))) (!3builtin_assc^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (!1UBPad.p(1) (builtin_id (.0))))))) (intch_src^-1 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp4 (!2_builtin_assoc (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0))) (!1UBPad.p(1) (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.p(1)_Unit (builtin_id (.0))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!2_builtin_unitor (!1UBPad.Padding(1)_func[(.5,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_4 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!3builtin_id (!2builtin_comp2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!1UBPad.p(1) (builtin_id (.0))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1UBPad.p(1) (builtin_id (.0)))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (!1UBPad.p(1) (builtin_id (.0)))))) (!3builtin_comp3 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!3builtin_assc (!3builtin_comp4 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (tm_3 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(2)_func[(.5,1)] (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.10,1)] (!1UBPad.p(1) (builtin_id (.0))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (!1UBPad.p(1) (builtin_id (.0)))) (!3builtin_comp3 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!3builtin_comp2_func[(.12,1)] (!3builtin_comp4 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (tm_3 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(2)_func[(.5,1)] (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp7 (!3builtin_assc^-1 (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp3_func[(.10,1)] (!2intch_src^-1_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp3_func[(.12,1)] (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2builtin_comp3_red_func[(.8,1)]_red_func[(.10,1)]_op{5} (!4builtin_comp3 (intch_tgt^-1 (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp5_red_func[(.10,1)]_op{5} (!4builtin_comp11 (!3builtin_assc^-1 (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp5_func[(.10,1)] (!2builtin_comp3^-1_func[(.14,1)][(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (!2builtin_comp2 (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0)))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp5_func[(.12,1)] (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc^-1_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1)] (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (ΣUToURepad.Repadding(2) )) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp5_func[(.14,1)] (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!4builtin_comp3 (intch_tgt^-1 (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1)] (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (ΣUToURepad.Repadding(2) )) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)]_red_func[(.12,1)]_op{5} (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1^-1_func[(.8,2)] (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2))) (UBPad.p(2) (.0))) (intch_src^-1 (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.10,1)] (ΣUToURepad.Repadding(2) ) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2))) (UBPad.p(2) (.0)))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.10,1)] (ΣUToURepad.Repadding(2) ) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp5_func[(.16,1)] (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc^-1_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (!2builtin_comp2 (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) )) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp5_func[(.18,1)] (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3^-1_func[(.8,1)][(.12,1)] (ΣUToURepad.f(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))))) (intch_src^-1 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))))) (intch_src^-1 (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2builtin_comp3_red_func[(.8,1)] (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!3builtin_comp3_func[(.14,1)] (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt^-1_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))) (!3builtin_assc^-1 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))))) (intch_src^-1 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))))) (!3assoc (!3builtin_comp4 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (tm_3 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(2)_func[(.5,1)] (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp3 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0)))))) (intch_src^-1 (!3builtin_comp4 (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BPad.p(2) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1BPad.p(2)_op{1} (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_comp2_func[(.8,1) (.12,1)] (!1BToURepad.Repadding(2) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1BToURepad.Repadding(2)_op{1} (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (tm_3 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!1UBPad.Padding(2)_func[(.5,1)] (!1intch(2,0) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!3builtin_comp3 (!2intch_src (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (tm_2 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))))) (!2builtin_comp3_red_func[(.8,1)] (!3builtin_comp5 (!2builtin_comp3_func[(.12,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.g(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.10,1)] (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (!2builtin_id^-1_func[(.6,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_assc (tm_1 (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (ΣUToURepad.Repadding(2) ) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))) (!2builtin_comp3_func[(.8,1)] (ΣUToURepad.f(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0))))) (!2intch_tgt (!1builtin_id (builtin_id (.0))) (UBPad.p(2) (.0)) (UBPad.Padding(2)_func[(.3,1)] (!1builtin_comp2_func[(.6,1) (.10,1)] (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0)))))) (UBPad.p(2) (.0)))) (!2builtin_comp3_func[(.10,1)] (UBPad.p(2) (.0)) (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2)) (UBPad.p(2) (.0))))) (UBPad.p(3) (.0))) (!3_unbiasor_left (eh^3_(2,1) (!2builtin_id (!1builtin_id (builtin_id (.0)))) (!2builtin_id (!1builtin_id (builtin_id (.0))))) (UBPad.Padding(3)_func[(.3,1)] (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2))) (UBPad.p(3) (.0))) (!3builtin_comp3_func[(.10,1)] (_eh_to_p(3,2,1) (.0)) (UBPad.Padding(3)_func[(.3,1)] (!1builtin_comp2_func[(.8,2) (.14,2)] (.1) (.2))) (UBPad.p(3) (.0))).