proofs/containers/lru/purge.bend
bend-collections-laws-containers@1.0.0.0 · 612 lines · 0 definitions
1import Base
2import bend-collections-laws-containers@1.0.0.0/proofs/lib/logic.bend as L
3import bend-collections-laws-containers@1.0.0.0/proofs/lib/nat.bend as N
4import bend-collections-laws-containers@1.0.0.0/proofs/lib/array.bend as AR
5import bend-collections-laws-containers@1.0.0.0/spec/lib/common.bend as SC
6import bend-collections-laws-containers@1.0.0.0/spec/containers/lru.bend as SP
7import bend-collections-laws-containers@1.0.0.0/proofs/lib/u32div.bend as UD
8import bend-collections-laws-containers@1.0.0.0/src/math/u64.bend as W
9import bend-collections-laws-containers@1.0.0.0/src/containers/lru.bend as LR
10import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/table.bend as TB
11import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/buckets.bend as B
12import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/cyc.bend as CY
13import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/inv.bend as IV
14import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/state.bend as ST
15import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/basic.bend as BA
16import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/rmat.bend as RM
17import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/meta.bend as MT
18
19import bend-collections-laws-containers@1.0.0.0/proofs/containers/lru/resize.bend as RZ
20import bend-collections-laws-containers@1.0.0.0/proofs/containers/hash_table/grow.bend as GR
21import bend-collections-laws-containers@1.0.0.0/proofs/lib/word.bend as WD
22import bend-collections-laws-containers@1.0.0.0/proofs/lib/words32.bend as W32
23import bend-collections-laws-containers@1.0.0.0/proofs/lib/u32_tree.bend as UT
24
25# purge: every entry and the counters cleared, the table kept at its size.
26
27
28
29def z_bsl(+d: Nat, +kl: List<&2, String>, +n: Nat, +sl: List<&2, Nat>, +ll: List<&2, U32>, +m: Nat, +hm: {Nat.is_le(m, n) == True{} : Bool}) -> {ST.bsl(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), sl, ll, m) == True{} : Bool}:
30 match m:
31 case 0n:
32 {==}
33 case 1n+q:
34 +hq = N.succ_le_lt(q, n, hm)
35 L.and_intro(ST.bslb(sl, ll, B.at(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), q)), ST.bsl(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), sl, ll, q), L.subst(B.Bk, z => {ST.bslb(sl, ll, z) == True{} : Bool}, B.BE{}, B.at(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), q), Equal.sym(B.Bk, B.at(TB.buckets(AR.slots(U32, AR.trep(U32, d, 0)), kl, n), q), B.BE{}, GR.at_z(d, kl, n, q, hq)), {==}), z_bsl(d, kl, n, sl, ll, q, N.lt_le(q, n, hq)))
36
37# ---- zeroing the fresh count and the counters ----
38
39def zp(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {AR.perfect(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)) == True{} : Bool}:
40 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
41 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
42 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
43 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
44 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
45 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
46 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
47 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
48 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
49 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
50 UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
51
52# zero_ctrs is the tree with words 0, 16 .. 25 cleared
53def za(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {LR.zero_ctrs(AR.thaw(U32, mT)) == AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)) : Array<U32>}:
54 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
55 +a0 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, mT), 0, 0), AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), UT.uset_a(5n, {==}, mT, pm, 0, {==}, 0))
56 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
57 +a1 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, mT, 0n, 0), p1, 16, {==}, 0))
58 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
59 +a2 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17, {==}, 0))
60 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
61 +a3 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18, {==}, 0))
62 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
63 +a4 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19, {==}, 0))
64 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
65 +a5 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20, {==}, 0))
66 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
67 +a6 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, z, 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21, {==}, 0))
68 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
69 +a7 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, Array.set(U32, z, 23, 0), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22, {==}, 0))
70 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
71 +a8 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, Array.set(U32, z, 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23, {==}, 0))
72 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
73 +a9 = Equal.cong(Array<U32>, Array<U32>, z => Array.set(U32, z, 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24, {==}, 0))
74 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
75 +a10 = Equal.cong(Array<U32>, Array<U32>, z => z, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), UT.uset_a(5n, {==}, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25, {==}, 0))
76 Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, mT), 0, 0), 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a0, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16, 0), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a1, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17, 0), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a2, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18, 0), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a3, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19, 0), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a4, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20, 0), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a5, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21, 0), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22, 0), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a6, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22, 0), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23, 0), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a7, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23, 0), 24, 0), 25, 0), Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24, 0), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a8, Equal.trans(Array<U32>, Array.set(U32, Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24, 0), 25, 0), Array.set(U32, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 25, 0), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), a9, a10))))))))))
77
78# the words of the cleared tree
79def zs(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)) == SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0) : List<&2, U32>}:
80 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
81 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
82 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
83 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
84 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
85 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
86 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
87 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
88 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
89 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
90 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
91 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
92 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
93 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
94 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
95 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
96 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
97 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
98 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
99 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
100 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
101 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
102 +E0 = {{==} : {AR.slots(U32, mT) == AR.slots(U32, mT) : List<&2, U32>}}
103 +E1 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), SC.update(U32, AR.slots(U32, mT), 0n, 0), SC.update(U32, AR.slots(U32, mT), 0n, 0), s0, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 0n, 0), AR.slots(U32, mT), AR.slots(U32, mT), E0))
104 +E2 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 16n, 0), SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), s1, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 16n, 0), AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), SC.update(U32, AR.slots(U32, mT), 0n, 0), E1))
105 +E3 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 17n, 0), SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), s2, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 17n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), E2))
106 +E4 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 18n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 18n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), E3))
107 +E5 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 19n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 19n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), E4))
108 +E6 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 20n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 20n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), E5))
109 +E7 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 21n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 21n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), E6))
110 +E8 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 22n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 22n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), E7))
111 +E9 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 23n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 23n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), E8))
112 +E10 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 24n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 24n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), E9))
113 +E11 = Equal.trans(List<&2, U32>, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), SC.update(U32, AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 25n, 0), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, Equal.cong(List<&2, U32>, List<&2, U32>, z => SC.update(U32, z, 25n, 0), AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, SC.update(U32, AR.slots(U32, mT), 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), E10))
114 E11
115
116# ---- the words of the cleared tree ----
117
118def zw0(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n) == 0 : U32}:
119 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
120 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
121 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
122 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
123 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
124 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
125 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
126 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
127 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
128 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
129 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
130 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
131 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
132 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
133 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
134 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
135 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
136 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
137 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
138 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
139 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
140 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
141 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 0n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 0n), 0, MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 0n, {==}), MT.nth_same(5n, mT, pm, 0n, {==}, 0, AR.upd(U32, 5n, mT, 0n, 0), s0)))))))))))
142
143def zw1(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n) == W32.nth0(AR.slots(U32, mT), 1n) : U32}:
144 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
145 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
146 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
147 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
148 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
149 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
150 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
151 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
152 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
153 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
154 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
155 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
156 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
157 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
158 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
159 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
160 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
161 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
162 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
163 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
164 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
165 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
166 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 1n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 1n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 1n, {==})))))))))))
167
168def zw2(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n) == W32.nth0(AR.slots(U32, mT), 2n) : U32}:
169 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
170 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
171 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
172 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
173 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
174 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
175 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
176 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
177 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
178 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
179 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
180 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
181 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
182 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
183 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
184 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
185 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
186 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
187 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
188 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
189 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
190 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
191 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 2n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 2n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 2n, {==})))))))))))
192
193def zw3(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 3n) == W32.nth0(AR.slots(U32, mT), 3n) : U32}:
194 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
195 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
196 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
197 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
198 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
199 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
200 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
201 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
202 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
203 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
204 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
205 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
206 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
207 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
208 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
209 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
210 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
211 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
212 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
213 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
214 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
215 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
216 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 3n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 3n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 3n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 3n, {==})))))))))))
217
218def zw4(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 4n) == W32.nth0(AR.slots(U32, mT), 4n) : U32}:
219 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
220 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
221 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
222 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
223 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
224 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
225 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
226 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
227 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
228 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
229 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
230 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
231 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
232 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
233 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
234 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
235 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
236 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
237 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
238 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
239 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
240 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
241 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 4n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 4n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 4n), W32.nth0(AR.slots(U32, mT), 4n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 4n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 4n, {==})))))))))))
242
243def zw5(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 5n) == W32.nth0(AR.slots(U32, mT), 5n) : U32}:
244 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
245 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
246 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
247 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
248 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
249 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
250 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
251 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
252 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
253 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
254 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
255 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
256 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
257 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
258 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
259 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
260 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
261 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
262 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
263 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
264 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
265 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
266 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 5n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 5n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 5n), W32.nth0(AR.slots(U32, mT), 5n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 5n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 5n, {==})))))))))))
267
268def zw6(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n) == W32.nth0(AR.slots(U32, mT), 6n) : U32}:
269 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
270 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
271 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
272 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
273 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
274 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
275 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
276 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
277 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
278 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
279 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
280 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
281 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
282 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
283 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
284 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
285 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
286 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
287 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
288 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
289 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
290 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
291 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 6n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 6n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 6n, {==})))))))))))
292
293def zw7(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n) == W32.nth0(AR.slots(U32, mT), 7n) : U32}:
294 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
295 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
296 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
297 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
298 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
299 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
300 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
301 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
302 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
303 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
304 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
305 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
306 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
307 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
308 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
309 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
310 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
311 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
312 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
313 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
314 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
315 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
316 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 7n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, mT, 0n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), MT.nth_other(AR.upd(U32, 5n, mT, 0n, 0), 16n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1, 7n, {==}), MT.nth_other(mT, 0n, 0, AR.upd(U32, 5n, mT, 0n, 0), s0, 7n, {==})))))))))))
317
318def zw16(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n) == 0 : U32}:
319 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
320 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
321 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
322 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
323 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
324 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
325 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
326 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
327 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
328 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
329 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
330 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
331 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
332 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
333 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
334 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
335 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
336 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
337 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
338 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
339 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
340 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
341 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 16n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 16n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0)), 16n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2, 16n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), s1))))))))))
342
343def zw17(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 17n) == 0 : U32}:
344 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
345 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
346 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
347 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
348 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
349 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
350 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
351 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
352 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
353 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
354 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
355 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
356 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
357 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
358 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
359 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
360 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
361 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
362 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
363 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
364 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
365 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
366 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 17n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 17n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0)), 17n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3, 17n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), s2)))))))))
367
368def zw18(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n) == 0 : U32}:
369 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
370 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
371 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
372 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
373 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
374 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
375 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
376 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
377 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
378 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
379 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
380 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
381 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
382 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
383 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
384 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
385 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
386 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
387 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
388 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
389 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
390 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
391 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 18n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 18n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0)), 18n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4, 18n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), s3))))))))
392
393def zw19(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 19n) == 0 : U32}:
394 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
395 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
396 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
397 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
398 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
399 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
400 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
401 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
402 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
403 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
404 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
405 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
406 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
407 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
408 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
409 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
410 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
411 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
412 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
413 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
414 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
415 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
416 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 19n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 19n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0)), 19n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5, 19n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), s4)))))))
417
418def zw20(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n) == 0 : U32}:
419 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
420 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
421 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
422 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
423 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
424 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
425 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
426 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
427 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
428 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
429 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
430 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
431 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
432 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
433 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
434 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
435 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
436 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
437 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
438 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
439 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
440 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
441 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 20n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 20n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0)), 20n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6, 20n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), s5))))))
442
443def zw21(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 21n) == 0 : U32}:
444 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
445 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
446 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
447 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
448 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
449 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
450 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
451 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
452 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
453 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
454 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
455 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
456 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
457 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
458 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
459 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
460 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
461 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
462 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
463 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
464 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
465 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
466 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 21n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 21n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 21n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 21n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0)), 21n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7, 21n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), s6)))))
467
468def zw22(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n) == 0 : U32}:
469 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
470 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
471 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
472 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
473 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
474 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
475 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
476 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
477 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
478 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
479 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
480 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
481 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
482 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
483 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
484 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
485 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
486 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
487 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
488 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
489 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
490 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
491 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 22n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 22n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 22n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 22n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 22n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 22n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0)), 22n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8, 22n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), s7))))
492
493def zw23(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 23n) == 0 : U32}:
494 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
495 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
496 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
497 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
498 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
499 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
500 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
501 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
502 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
503 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
504 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
505 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
506 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
507 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
508 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
509 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
510 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
511 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
512 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
513 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
514 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
515 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
516 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 23n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 23n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 23n, {==}), Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 23n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0)), 23n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9, 23n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), s8)))
517
518def zw24(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n) == 0 : U32}:
519 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
520 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
521 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
522 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
523 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
524 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
525 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
526 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
527 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
528 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
529 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
530 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
531 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
532 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
533 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
534 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
535 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
536 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
537 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
538 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
539 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
540 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
541 Equal.trans(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0)), 24n), 0, MT.nth_other(AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10, 24n, {==}), MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), s9))
542
543def zw25(+mT: AR.Tree<U32>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 25n) == 0 : U32}:
544 +p1 = UT.uset_p(5n, mT, pm, 0n, 0)
545 +s0 = UT.uset_s(5n, mT, pm, 0n, {==}, 0)
546 +p2 = UT.uset_p(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, 0)
547 +s1 = UT.uset_s(5n, AR.upd(U32, 5n, mT, 0n, 0), p1, 16n, {==}, 0)
548 +p3 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, 0)
549 +s2 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), p2, 17n, {==}, 0)
550 +p4 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, 0)
551 +s3 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), p3, 18n, {==}, 0)
552 +p5 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, 0)
553 +s4 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), p4, 19n, {==}, 0)
554 +p6 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, 0)
555 +s5 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), p5, 20n, {==}, 0)
556 +p7 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, 0)
557 +s6 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), p6, 21n, {==}, 0)
558 +p8 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, 0)
559 +s7 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), p7, 22n, {==}, 0)
560 +p9 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, 0)
561 +s8 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), p8, 23n, {==}, 0)
562 +p10 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, 0)
563 +s9 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), p9, 24n, {==}, 0)
564 +p11 = UT.uset_p(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, 0)
565 +s10 = UT.uset_s(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0)
566 MT.nth_same(5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), p10, 25n, {==}, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), s10)
567
568
569def good_z(~V: Data, +cap: U32, +n: U32, +head: U32, +tail: U32, +free: U32, +mT: AR.Tree<U32>, +k: Nat, +sd: Nat, +tabT: AR.Tree<U32>, +ksT: AR.Tree<String>, +eT: AR.Tree<Maybe<&2, V>>, +lkT: AR.Tree<U32>, +sl: List<&2, Nat>, +fl: List<&2, Nat>, +hg: {ST.good(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}) == True{} : Bool}) -> {ST.good(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}) == True{} : Bool}:
570 +pm = ST.g_cpm(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg)
571 +z0 = zw0(mT, pm)
572 +hmask = L.subst(U32, z => {U32.is_eq(z, CY.msk(k)) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), W32.nth0(AR.slots(U32, mT), 6n), zw6(mT, pm)), ST.g_cmask(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
573 +hbits = L.subst(U32, z => {Nat.is_eq(UD.v(z), k) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 7n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), W32.nth0(AR.slots(U32, mT), 7n), zw7(mT, pm)), ST.g_cbits(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
574 +hsize = L.subst(U32, z => {Nat.is_eq(UD.v(z), SC.pow2(sd)) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), W32.nth0(AR.slots(U32, mT), 1n), zw1(mT, pm)), ST.g_csize(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
575 +hdepth = L.subst(U32, z => {Nat.is_eq(UD.v(z), sd) == True{} : Bool}, W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), W32.nth0(AR.slots(U32, mT), 2n), zw2(mT, pm)), ST.g_cdepth(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
576 +hfresh = L.subst(U32, z => {Nat.is_le(UD.v(z), SC.pow2(sd)) == True{} : Bool}, 0, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), 0, z0), N.zero_le(SC.pow2(sd)))
577 +hn = L.subst(Nat, z => {Nat.is_eq(0n, z) == True{} : Bool}, 0n, IV.occn(TB.buckets(AR.slots(U32, AR.trep(U32, 1n+k, 0)), AR.slots(String, ksT), SC.pow2(k)), SC.pow2(k)), Equal.sym(Nat, IV.occn(TB.buckets(AR.slots(U32, AR.trep(U32, 1n+k, 0)), AR.slots(String, ksT), SC.pow2(k)), SC.pow2(k)), 0n, GR.z_occn(1n+k, AR.slots(String, ksT), SC.pow2(k), SC.pow2(k), N.le_refl(SC.pow2(k)))), {==})
578 +hcnt = L.subst(U32, z => {Nat.is_eq(0n, UD.v(z)) == True{} : Bool}, 0, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), Equal.sym(U32, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), 0, z0), {==})
579 ST.good_intro(~V, cap, 0, 0, 0, 0, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 0n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 1n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 2n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 6n), W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 7n), AR.perfect(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), k, sd, AR.trep(U32, 1n+k, 0), AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, Nil{}, Nil{}, ST.g_ck(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), ST.g_csdk(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), AR.trep_perfect(U32, 1n+k, 0), ST.g_cpk(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), ST.g_cpe(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), ST.g_cpl(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), zp(mT, pm), hmask, hbits, hsize, hdepth, hfresh, GR.z_well(1n+k, AR.slots(String, ksT), SC.pow2(k), sd, SC.pow2(k), N.le_refl(SC.pow2(k))), GR.z_clus(1n+k, AR.slots(String, ksT), SC.pow2(k), CY.msk(k), SC.pow2(k), N.le_refl(SC.pow2(k))), GR.z_uniq(1n+k, AR.slots(String, ksT), SC.pow2(k), SC.pow2(k), N.le_refl(SC.pow2(k))), hn, N.zero_le(SC.pow2(k)), ST.g_ccap(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg), z_bsl(1n+k, AR.slots(String, ksT), SC.pow2(k), Nil{}, AR.slots(U32, lkT), SC.pow2(k), N.le_refl(SC.pow2(k))), {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, {==}, hcnt)
580
581def model_z(~V: Data, +cap: U32, +n: U32, +head: U32, +tail: U32, +free: U32, +mT: AR.Tree<U32>, +k: Nat, +sd: Nat, +tabT: AR.Tree<U32>, +ksT: AR.Tree<String>, +eT: AR.Tree<Maybe<&2, V>>, +lkT: AR.Tree<U32>, +sl: List<&2, Nat>, +fl: List<&2, Nat>, +pm: {AR.perfect(U32, 5n, mT) == True{} : Bool}) -> {ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}) == SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()} : SP.Lru<V>}:
582 +e4 = BA.w64_eq(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), AR.slots(U32, mT), 4n, zw4(mT, pm), zw5(mT, pm))
583 +ec = BA.ct5(ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n), W.zero(), W.zero(), W.zero(), W.zero(), W.zero(), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 16n, 0, 0, zw16(mT, pm), zw17(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 18n, 0, 0, zw18(mT, pm), zw19(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 20n, 0, 0, zw20(mT, pm), zw21(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 22n, 0, 0, zw22(mT, pm), zw23(mT, pm)), BA.w64_eq_l(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 24n, 0, 0, zw24(mT, pm), zw25(mT, pm)))
584 BA.lru_eq(~V, cap, W32.nth0(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 3n), W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), 4n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, Nil{}, ST.ctr(AR.slots(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0))), SP.zero_ctr(), zw3(mT, pm), e4, {==}, ec)
585
586def pow2_gt(+k: Nat) -> {Nat.is_lt(k, SC.pow2(k)) == True{} : Bool}:
587 match k:
588 case 0n:
589 {==}
590 case 1n+p:
591 N.le_lt_trans(1n+p, SC.pow2(p), SC.pow2(1n+p), N.lt_succ_le_succ(p, SC.pow2(p), pow2_gt(p)), N.pow2_lt_succ(p))
592
593# THEOREM (purge): the specification's purge
594def purge_sh(~V: Data, +cap: U32, +n: U32, +head: U32, +tail: U32, +free: U32, +mT: AR.Tree<U32>, +k: Nat, +sd: Nat, +tabT: AR.Tree<U32>, +ksT: AR.Tree<String>, +eT: AR.Tree<Maybe<&2, V>>, +lkT: AR.Tree<U32>, +sl: List<&2, Nat>, +fl: List<&2, Nat>, +hg: {ST.good(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}) == True{} : Bool}, +one: Nat, +h1: {one == 1n : Nat}) -> RM.POK(~V, U32, SP.purge(~V, ST.model(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl})), LR.purge(&2, V, ST.real(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}))):
595 +pm = ST.g_cpm(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg)
596 +g7 = UT.uget(5n, {==}, mT, pm, 7, {==})
597 +ek = N.eq_from_is_eq(UD.v(W32.nth0(AR.slots(U32, mT), 7n)), k, ST.g_cbits(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
598 +hk = L.and_left(Nat.is_lt(k, 30n), Nat.is_lt(0n, k), ST.g_ck(~V, cap, n, head, tail, free, W32.nth0(AR.slots(U32, mT), 0n), W32.nth0(AR.slots(U32, mT), 1n), W32.nth0(AR.slots(U32, mT), 2n), W32.nth0(AR.slots(U32, mT), 6n), W32.nth0(AR.slots(U32, mT), 7n), AR.perfect(U32, 5n, mT), k, sd, tabT, AR.slots(String, ksT), AR.perfect(String, sd, ksT), eT, lkT, sl, fl, hg))
599 +hb = L.subst(Nat, z => {Nat.is_lt(1n+z, WD.sc(32n, one)) == True{} : Bool}, k, UD.v(W32.nth0(AR.slots(U32, mT), 7n)), Equal.sym(Nat, UD.v(W32.nth0(AR.slots(U32, mT), 7n)), k, ek), N.le_lt_trans(1n+k, SC.pow2(k), WD.sc(32n, one), N.lt_succ_le_succ(k, SC.pow2(k), pow2_gt(k)), N.lt_le_trans(SC.pow2(k), SC.pow2(1n+k), WD.sc(32n, one), N.pow2_lt_succ(k), W32.pow_le32(one, h1, 1n+k, N.lt_trans(k, 30n, 31n, hk, {==})))))
600 +eb = Equal.trans(Nat, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 1n+UD.v(W32.nth0(AR.slots(U32, mT), 7n)), 1n+k, W32.inc_val(one, h1, W32.nth0(AR.slots(U32, mT), 7n), hb), Equal.cong(Nat, Nat, z => 1n+z, UD.v(W32.nth0(AR.slots(U32, mT), 7n)), k, ek))
601 +en = Equal.trans(Array<U32>, Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), Array.new(U32, 1n+k, 0), AR.thaw(U32, AR.trep(U32, 1n+k, 0)), Equal.cong(Nat, Array<U32>, z => Array.new(U32, z, 0), U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 1n+k, eb), AR.new(U32, 1n+k, 0))
602 +E1 = Equal.cong(Array<U32> & U32, LR.LRU<&2, V> & U32, r => LR.purge_b(&2, V, cap, n, AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT), r), Array.get(U32, AR.thaw(U32, mT), 7), (AR.thaw(U32, mT), W32.nth0(AR.slots(U32, mT), 7n)), g7)
603 +E2 = Equal.cong(Array<U32>, LR.LRU<&2, V> & U32, z => (LR.F{cap, 0, 0, 0, 0, z, Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), LR.zero_ctrs(AR.thaw(U32, mT)), AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), za(mT, pm))
604 +E3 = Equal.cong(Array<U32>, LR.LRU<&2, V> & U32, z => (LR.F{cap, 0, 0, 0, 0, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), z, AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(U32, AR.trep(U32, 1n+k, 0)), en)
605 +E = Equal.trans(LR.LRU<&2, V> & U32, LR.purge(&2, V, ST.real(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl})), (LR.F{cap, 0, 0, 0, 0, LR.zero_ctrs(AR.thaw(U32, mT)), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), (ST.real(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), n), E1, Equal.trans(LR.LRU<&2, V> & U32, (LR.F{cap, 0, 0, 0, 0, LR.zero_ctrs(AR.thaw(U32, mT)), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), (LR.F{cap, 0, 0, 0, 0, AR.thaw(U32, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0)), Array.new(U32, U32.to_nat(U32.inc(W32.nth0(AR.slots(U32, mT), 7n))), 0), AR.thaw(String, ksT), AR.thaw(Maybe<&2, V>, eT), AR.thaw(U32, lkT)}, n), (ST.real(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), n), E2, E3))
606 +es = Equal.trans(SP.Lru<V> & U32, SP.purge(~V, ST.model(~V, ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl})), (SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, n), (ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), n), Equal.cong(U32, SP.Lru<V> & U32, z => (SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, z), U32.from_nat(SP.length(~V, ST.es(~V, AR.slots(U32, lkT), AR.slots(String, ksT), AR.slots(Maybe<&2, V>, eT), sl))), n, RZ.n_len(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, hg)), Equal.cong(SP.Lru<V>, SP.Lru<V> & U32, z => (z, n), SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), Equal.sym(SP.Lru<V>, ST.model(~V, ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}), SP.L{cap, W32.nth0(AR.slots(U32, mT), 3n), ST.w64(AR.slots(U32, mT), 4n), Nil{}, SP.zero_ctr()}, model_z(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, pm))))
607 (ST.LS{cap, 0, 0, 0, 0, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, AR.upd(U32, 5n, mT, 0n, 0), 16n, 0), 17n, 0), 18n, 0), 19n, 0), 20n, 0), 21n, 0), 22n, 0), 23n, 0), 24n, 0), 25n, 0), k, sd, AR.trep(U32, 1n+k, 0), ksT, eT, lkT, Nil{}, Nil{}}, (n, (E, (es, good_z(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, hg)))))
608
609def purge_ok(~V: Data, +one: Nat, +h1: {one == 1n : Nat}, +sh: ST.Sh<V>, +hg: {ST.good(~V, sh) == True{} : Bool}) -> RM.POK(~V, U32, SP.purge(~V, ST.model(~V, sh)), LR.purge(&2, V, ST.real(~V, sh))):
610 match sh:
611 case ST.LS{cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl}:
612 purge_sh(~V, cap, n, head, tail, free, mT, k, sd, tabT, ksT, eT, lkT, sl, fl, hg, one, h1)